美文网首页工具
linux常搜索命令之find/locate/which/whe

linux常搜索命令之find/locate/which/whe

作者: Aiibai | 来源:发表于2018-06-13 14:36 被阅读219次

    一、find

    1.格式

    find    [查询范围]    [匹配条件]

    2.例子

    find  /etc  -name   *init*  -a  -type  d  -o  -size  -2048  -exec  ls -l  {} \;

    解释:

     /etc    搜索范围,越精确越好

    -name  *init*    查找名称中包含init的文件或目录

    -a    并且

    -type -d    类型为文件

    -o    或者

    -size    小于1MB

    -exec  ls -l {} \;    对查询的结果执行命令,{} \;这个是固定格式,可以理解为占位符

    3.参数

    -name    指定文件名    *代表任意,?代表一个字符

    -type    文件类型,取值为[d,f,l],分别代表目录、文件、软连接

    -size    文件大小,这里的单位是数据块,一个数据块等于512字节

    -inum    文件的INode节点号,可以通过找个查询找到文件的硬链接,硬链接文件的iNode号和原文件一样

    -user    指定文件的拥有者

    -group    指定文件所属组

    -amin    文件的访问时间,如:-amin -5,意思是5分钟之内访问过的文件

    -cmin    文件属性变化时间,格式如-amin

    -mmin    文件内容变化时间,格式如-amin

    -a    逻辑连接符and

    -o    逻辑连接符or

    -exec    不需要询问确认,直接将后面的命令应用于查询结果

    -ok    需要询问确认,将后面的命令应用于查询结果

    4.建议

        (1)匹配条件和查询范围越精确越好

        (2)服务器高访问时间段,最好不要使用

        (3)find命令是在硬盘上遍历查找,非常耗硬盘资源,查找效率相比whereis和locate较低,所以用which、whereis和locate的时候尽量不要用find.

    二、locate

    1.格式

    locate  [选项] [参数]

    2.例子

    locate -i  init*

    解释:

        -i        忽略大小写

    3.特点

        (1)是通过资料库进行检索,所以检索速度很快

        (2)资料库会定时更新,所以新建文件可能检索不到,可以通过updatedb强制更新资料库

        (4)/tmp目录下面 的文件不会被检索到

    三、which

    1.例子:

    which ls

    2.特点:

        (1)是用来检索命令的

        (2)可以查询到命令的绝对路径以及别名

    四、whereis 

    1.例子

    whereis ls

    2.特点

        (1)是用来检索命令的

        (2)可以查询到命令的绝对路径和帮助文档

    五、grep

    1.例子

    grep  -i  -v   ^#    /etc/inittab

    解释:检索以非#开头并且不区分大小写的所有文本行

    -i    忽略大小写

    -v    除外

    ^#     以#开头的文本行

    /etc/initab    文本文件

    2.特点

        (1)适用于检索文本文件中的文本行

    相关文章

      网友评论

        本文标题:linux常搜索命令之find/locate/which/whe

        本文链接:https://www.haomeiwen.com/subject/ecgsnxtx.html