Linux——学习篇之find命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux——学习篇之find命令相关的知识,希望对你有一定的参考价值。

Linux中的find命令:

   对于Linux而言,有着“一切皆文件”的这一特性,所以相比较windows而言对于文件没有后缀名,查找是并不轻松的的。因此,需要我们熟悉Linux下的find命令,更快地找到我们所需要的文件。

  1. 命令格式

    find   pathname   -options   [   -print  -exec   -ok ...]

  2. 命令参数

pathname: find 命令所查找的目录路径。例如用.来表示当前目录,用、表示系统根目录。

-print:      find命令将匹配的文件输出到标准输出。

-exec:         find命令对匹配的文件执行该参数所给的shell命令。

-ok:          与-exec的作用相同,在执行每一个命令之前,都会给出提示,让用户判断是否执行。

 3.   命令选项

(1)-name   按照文件名查找文件。

查找在$HOME目录下所有符合的log文件。

find ~ -name "*.log" -print  

想要在当前目录及子目录中查找所有的‘ *.log‘文件:

find . -name "*.log" -print  

想要的当前目录及子目录中查找文件名以一个大写字母开头的文件:

find . -name "[A-Z]*" -print  

想要在/etc目录中查找文件名以host开头的文件:

find /etc -name "host*" -print  

想要查找$HOME目录中的文件:

find ~ -name "*" -print 或find . -print  

要想让系统高负荷运行,就从根目录开始查找所有的文件: 

find / -name "*" -print  

如果想在当前目录查找文件名以一个个小写字母开头,最后是4到9加上.log结束的文件:  

find . -name "[a-z]*[4-9].log" -print

技术分享

(2)-perm   按照文件权限来查找文件。

例:查找user为可读可写可执行,group为可读可写不可执行,other为可读不可写不可执行(764):

技术分享

(3)-prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

例:TEST目录下查找文件,但不希望在TEST/test目录下查找

技术分享

(4)-user   按照文件属主来查找文件。

例:在在$HOME目录中查找文件属主为root/sust的文件

技术分享

(5)-group      按照文件所属的组来查找文件。

         -nogroup 查找没有有效所属用户组的所有文件

例:在当前目录下查找属于root用户组的文件和文件系统的根目录处查找没有有效所属用户组的所有文件

技术分享

(6)-mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

例:希望在系统当前目录下查找更改时间在3日以内的文件:

find . -mtime -3 -print

为了在根目录下查找更改时间在3日以前的文件,可以用:

find  / -mtime +3 -print

(7)-newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件。

例:查找更改时间比文件test.c新但比文件Public旧的文件:

find -newer test.c ! -newer Public -print

技术分享

(8)-type  查找某一类型的文件,诸如:b - 块设备文件。d - 目录。c - 字符设备文件。p - 管道文件。l - 符号链接文件。f - 普通文件。

 例:在当前目录下查找普通文件(f),目录文件(d),符号连接文件(l)

技术分享

(9)-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

例:在当前目录下查找文件长度为10块字节的文件 

find . -size 10 -print

find命令从当前目录开始,查找一个名为CON.FILE的文件。   

find . "CON.FILE" -depth -print

技术分享

(10)-mount:在查找文件时不跨越文件系统mount点

例:从当前目录开始查找位于本文件系统中文件名以XC结尾的文件  

find . -name "*.XC" -mount -print

技术分享

本文出自 “朔月云影” 博客,请务必保留此出处http://19940325.blog.51cto.com/10789287/1775202

以上是关于Linux——学习篇之find命令的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记16--命令find

linux find命令用法 linux学习心得体会

《Linux学习并不难》Linux常用操作命令:find命令查找符合条件的文件

Linux学习-find命令使用

Linux学习命令汇总八——文件查找命令find选项及使用技巧

linux find命令格式及find命令详解