使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为”find“;”locate“;”whereis“;”which“;”type“

方法/步骤
 
  1.  

    linux 下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name  'interfaces'“

     
  2.  

    使 用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文 件信息。使用locate命令在根目录下搜索interfaces文件的命令为”locate interfaces“

     
  3.  

    使用”whereis“命令可以搜索linux系统中的所有可执行文件即二进制文件。使用whereis命令搜索grep二进制文件的命令为”whereis grep“。

     
  4.  

    使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”which grep“。

     
  5.  

    使用type命令查看系统中的某个命令是否为系统自带的命令。使用type命令查看cd命令是否为系统自带的命令;查看grep 是否为系统自带的命令。

    6、补一个linux下搜索文件中的内容

    grep xxxx  log.log    搜索log.log文件中的所有xxxx

     
     

    一、more命令

    more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令 就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在 启动时就加载整个文件。

    1.命令格式:

    more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

    2.命令功能:

    more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

    3.命令参数:

    +n      从笫n行开始显示

    -n       定义屏幕大小为n行

    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

    -c       从顶部清屏,然后显示

    -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

    -l        忽略Ctrl+l(换页)字符

    -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

    -s       把连续的多个空行显示为一行

    -u       把文件内容中的下画线去掉

    4.常用操作命令:

    Enter    向下n行,需要定义。默认为1行

    Ctrl+F   向下滚动一屏

    空格键  向下滚动一屏

    Ctrl+B  返回上一屏

    =       输出当前行的行号

    :f     输出文件名和当前行的行号

    V      调用vi编辑器

    !命令   调用Shell,并执行命令

    q       退出more

    5.命令实例:

    实例1:显示文件中从第3行起的内容

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ cat test.log                   #显示所有日志内容
    aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log               #从第三行开始显示日志内容

    输出:

     1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log
    2 2016-8-1 aijian.shi
    3 2016-8-2 yafang.wei
    4 2016-8-3 hong.zhan
    5 2016-8-4 yuyan.zhang
    6 2016-8-5 senlin.zhao
    7 2016-8-6 yanbin.liu
    8 2016-8-7 hui.liu
    9 2016-8-8 yanhua.liu
    10 2016-8-9 baoixn.cui
    11 2016-8-10 ge.song
    12 2016-8-11 zhongjun.zhen
    13 2016-8-12 qiu.liao
    aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log
    2016-8-3 hong.zhan
    2016-8-4 yuyan.zhang
    2016-8-5 senlin.zhao
    2016-8-6 yanbin.liu
    2016-8-7 hui.liu
    2016-8-8 yanhua.liu
    2016-8-9 baoixn.cui
    2016-8-10 ge.song
    2016-8-11 zhongjun.zhen
    2016-8-12 qiu.lia

    实例2.将日志内容设置为每屏显示4行

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log

    输出:

     1 aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log
    2 2016-8-1 aijian.shi
    3 2016-8-2 yafang.wei
    4 2016-8-3 hong.zhan
    5 2016-8-4 yuyan.zhang
    6
    7 ...skipping one line              #这里使用ctrl+F或者空格键来滚屏
    8 2016-8-6 yanbin.liu
    9 2016-8-7 hui.liu
    10 2016-8-8 yanhua.liu
    11 2016-8-9 baoixn.cui
    12
    13 ...skipping one line
    14 2016-8-11 zhongjun.zhen
    15 2016-8-12 qiu.liao

    实例3.从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log

    输出:

     1 aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log
    2
    3 ...skipping
    4 2016-8-4 yuyan.zhang
    5 2016-8-5 senlin.zhao
    6 2016-8-6 yanbin.liu
    7 2016-8-7 hui.liu
    8 2016-8-8 yanhua.liu
    9 2016-8-9 baoixn.cui
    10 2016-8-10 ge.song
    11 2016-8-11 zhongjun.zhen
    12 2016-8-12 qiu.liao

    实例4.当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5   #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入

    输出:

     1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5
    2 2016-8-1 aijian.shi
    3 2016-8-2 yafang.wei
    4 2016-8-3 hong.zhan
    5 2016-8-4 yuyan.zhang
    6 2016-8-5 senlin.zhao
    7
    8 ...skipping one line
    9 2016-8-7 hui.liu
    10 2016-8-8 yanhua.liu
    11 2016-8-9 baoixn.cui
    12 2016-8-10 ge.song
    13 2016-8-11 zhongjun.zhen
    14 --more--

    二、less指令

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

    1.命令格式:

    less [参数]  文件

    2.命令功能:

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    3.命令参数:

    -b <缓冲区大小> 设置缓冲区的大小

    -e  当文件显示结束后,自动离开

    -f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

    -g  只标志最后搜索的关键词

    -i  忽略搜索时的大小写

    -m  显示类似more命令的百分比

    -N  显示每行的行号

    -o <文件名> 将less 输出的内容在指定文件中保存起来

    -Q  不使用警告音

    -s  显示连续空行为一行

    -S  行过长时间将超出部分舍弃

    -x <数字> 将“tab”键显示为规定的数字空格

    /字符串:向下搜索“字符串”的功能

    ?字符串:向上搜索“字符串”的功能

    n:重复前一个搜索(与 / 或 ? 有关)

    N:反向重复前一个搜索(与 / 或 ? 有关)

    b  向后翻一页

    d  向后翻半页

    h  显示帮助界面

    Q  退出less 命令

    u  向前滚动半页

    y  向前滚动一行

    空格键 滚动一行

    回车键 滚动一页

    [pagedown]: 向下翻动一页

    [pageup]:   向上翻动一页

    4.使用实例:

    实例1:ps查看进程信息并通过less分页显示同时显示行号

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ ps -ef|less -N

    输出:

     1       1 UID        PID  PPID  C STIME TTY          TIME CMD
    2 2 root 1 0 0 Aug08 ? 00:00:00 /sbin/init
    3 3 root 2 0 0 Aug08 ? 00:00:00 [kthreadd]
    4 4 root 3 2 0 Aug08 ? 00:00:02 [ksoftirqd/0]
    5 5 root 6 2 0 Aug08 ? 00:00:00 [migration/0]
    6 6 root 7 2 0 Aug08 ? 00:00:00 [watchdog/0]
    7 7 root 8 2 0 Aug08 ? 00:00:00 [migration/1]
    8 8 root 9 2 0 Aug08 ? 00:00:00 [kworker/1:0]
    9 9 root 10 2 0 Aug08 ? 00:00:01 [ksoftirqd/1]
    10 10 root 11 2 0 Aug08 ? 00:00:00 [watchdog/1]
    11 11 root 12 2 0 Aug08 ? 00:00:00 [migration/2]
    12 12 root 14 2 0 Aug08 ? 00:00:01 [ksoftirqd/2]
    13 13 root 15 2 0 Aug08 ? 00:00:00 [watchdog/2]
    14 14 root 16 2 0 Aug08 ? 00:00:00 [migration/3]
    15 15 root 18 2 0 Aug08 ? 00:00:01 [ksoftirqd/3]
    16 16 root 19 2 0 Aug08 ? 00:00:00 [watchdog/3]
    17 17 root 20 2 0 Aug08 ? 00:00:00 [migration/4]
    18 18 root 22 2 0 Aug08 ? 00:00:00 [ksoftirqd/4]
    19 19 root 23 2 0 Aug08 ? 00:00:00 [watchdog/4]
    20 20 root 24 2 0 Aug08 ? 00:00:00 [migration/5]
    21 21 root 26 2 0 Aug08 ? 00:00:00 [ksoftirqd/5]
    22 22 root 27 2 0 Aug08 ? 00:00:00 [watchdog/5]
    23 23 root 28 2 0 Aug08 ? 00:00:00 [migration/6]
    24 :

    实例2.浏览多个文件

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ less test2.log test.log

    输出:

     1     1  ifconfig
    2 2 ping www.baidu.com
    3 3 ifconfig
    4 4 //10.128.161.108/share
    5 5 10.128.161.108/share
    6 6 ssh
    7 7 keygen
    8 8 trsa
    9 9 ssh
    10 10 .ssh/
    11
    12
    13 test2.log (file 1 of 2) (END) - Next: test.log

    说明:

    输入 :n后,切换到 test.log

    输入 :p 后,切换到test2.log

    ps:当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。

    命令:

    less file1
    
    :e file2

    5.附加备注

    1.全屏导航

    ctrl + F - 向前移动一屏

    ctrl + B - 向后移动一屏

    ctrl + D - 向前移动半屏

    ctrl + U - 向后移动半屏

    2.单行导航

    j - 向前移动一行

    k - 向后移动一行

    3.其它导航

    G - 移动到最后一行

    g - 移动到第一行

    q / ZZ - 退出 less 命令

    4.其它有用的命令

    v - 使用配置的编辑器编辑当前文件

    h - 显示 less 的帮助文档

    &pattern - 仅显示匹配模式的行,而不是整个文件

    5.标记导航

    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

    ma - 使用 a 标记文本的当前位置

    'a - 导航到标记 a 处

    6.查找

    more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开

linux常用搜索文件命令的更多相关文章

  1. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  2. Linux下搜索文件find、which、whereis、locate

    Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻 ...

  3. linux常用60条命令 转

    Linux必学的60个命令   Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...

  4. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  5. linux常用头文件及说明

    linux常用头文件及说明 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言,assert(表达式)<glib.h>:GCC.GTK,GNOM ...

  6. Linux 常用的压缩命令有 gzip 和 zip

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...

  7. 在Linux下搜索文件

    在Linux下搜索文件============================= 1,which 查找可执行文件的绝对路径 [root@aminglinux ~]# which cat /bin/ca ...

  8. Linux递归删除文件命令

    Linux递归删除文件命令 find . -name "*.log.*" -exec ls {} \; find . -name "*.log.*" -exec ...

  9. [转载] Linux中的搜索文件命令

    搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道Linux是命令强大的一个系统,所以也有好多非常优秀的搜索命令.通常find不常用,因为速度慢,耗费硬盘空间.通常我们先使用wher ...

随机推荐

  1. window.onload与$(document).ready()之区别

    1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.         $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2 ...

  2. 什么是web service (转)

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  3. nodejs常用npm包

    express常用npm包整理如下 art-template 一款js模板引擎,性能不错 jayson     一款纯node的rpc应用包,可实现rpc服务.tcp.http等服务 multer   ...

  4. 抽象工厂模式的C++、Java实现

    1.抽象工厂模式UML 图1. 抽象工厂模式的UML 2.C++实现 C++实现类图为: 图2. 抽象工厂模式的C++实现类图 其中,AbstractFactory的实现代码为: //抽象工厂类基类. ...

  5. Redis(什么是Redis?)

    Redis是一个开源的内存数据库,可以作为缓存也可以作为消息队列.它支持的数据结构有:字符串.哈希表.列表.集合.有序集合. Redis:Redis是Remote Dictionary Server( ...

  6. js获取当前日期和时间的代码

    最佳答案 var myDate = new Date(); myDate.toLocaleDateString(): //获取当前日期myDate.toLocaleTimeString(); //获取 ...

  7. WPF 蒙罩层 LoadingPage

    WPF 蒙罩层 LoadingPage 前言 无论是在PC客户端,移动端,网站,在遇到长时间处理的时候都会需要用到蒙罩层,让用户有更好的体现.今天上网逛了一下各位前辈网友的蒙罩层的实现方式,觉得有很多 ...

  8. Oracle中创建Job实现自动插入值操作

    在PL/SQL Developer中创建Job --临时测试表 create table test_job ( id ), c_date date ); --临时序列 create sequence ...

  9. Win7下VC++6.0打开文件报错导致其崩溃的解决办法

    原文:http://blog.csdn.net/wanghaihao_1/article/details/39005771 在Windows7下安装Visual C++ 6.0后,遇到一个致命的问题打 ...

  10. 旋转数组的最小数字(C++ 和 Python 实现)

    (说明:本博客中的题目.题目详细说明及参考代码均摘自 “何海涛<剑指Offer:名企面试官精讲典型编程题>2012年”) 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的 ...