linux常搜索命令之find/locate/which/whereis/grep

一、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/whereis/grep)