linux的find指令详解。

引用:http://os.51cto.com/art/200908/141411.htm

http://www.oschina.net/translate/15-practical-linux-find-command-examples

http://www.oschina.net/translate/15-practical-unix-linux-find-command-examples-part-2

 

find指令是用来搜索文件的指令。英文较好的同学可以直接看man find。

建议在本文找到对应指令后,查找man find 去阅读详细解释。

 

基本使用方式:

1)现在某个目录下的所有目录和文件(不推荐此方式)

find /  //  现在根目录下所有子目录和文件

2)在某个目录下查找具体文件:find <serach dirtection> -name <file name>

find / -name <file name>  // 在根目录【/】下搜索文件。
find / -iname <file name>  // 在根目录【/】下搜索文件。并且忽略大小写。

find /usr -name <file name>  // 在usr目录下搜索文件

 

3)无错查找:即不提示查找错误。

  1,例如:当使用普通用户时,查找根目录会出现很多permission denied(其他用户文件无法访问)

find / -name access_log 2>/dev/null  //将标准错误输出到null中。即不显示在命令行中。也可以索引到需要的文件里。

 

4)模糊查找:使用正则表达式进行模糊查找。

find /etc -name *srm*

 

5)通过文件特征查找的指令:

-amin n       查找系统中最后N分钟访问的文件

-atime n      查找系统中最后n*24小时访问的文件

-cmin n       查找系统中最后N分钟被改变状态的文件

-ctime n      查找系统中最后n*24小时被改变状态的文件

-empty        查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

-false        查找系统中总是错误的文件

-fstype type  查找系统中存在于指定文件系统的文件,例如:ext2 .

-gid n        查找系统中文件数字组 ID 为 n的文件

-group gname  查找系统中文件属于gnam文件组,并且指定组和ID的文件 

-perm         根据权限进行查找。

-type         根据文件类型进行查找

 

6)控制查找的一些选项。

-daystart           测试系统从今天开始24小时以内的文件,用法类似-amin

-depth              使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容
-maxdepth           最大深度。大于此深度的路径不再索引
-follow             遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询-maxdepth [levels]  在某个层次的目录中按照递减方法查找 -mount              不在文件系统目录中查找, 用法类似 -xdev. -noleaf             禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找 -version            打印版本数字

 

7)查找到文件并执行一定操作:

  1,如查找并显示文件属性:在查找后续添加 -ls  

  2,找到文件并检测文件的MD5验证和。

find / -name "httpd.conf" -ls 
 find -iname "MyCProgram.c" -exec md5sum {} \;

 

  2,其他一些命令

-exec command            查找并执行命令

-fprint file             打印文件完整文件名

-fprint0 file            打印文件完整文件名包括空的文件

-fprintf file format     打印文件格式

-ok command;             给用户命令执行操作,根据用户的Y 确认输入执行

-printf format           打印文件格式 

 

进阶使用方式:

1)混合查找方式:and or ! 三种方式。

  1,例如:在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件。

find /tmp -size +10000000c -and -mtime +2

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。