且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux的find命令

更新时间:2022-09-15 12:46:23

find命令:文件查找,查找符合条件的文件,精确查找。Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。


命令格式: find [option] [查找路径] [查找条件] [查找后的执行动作,默认为显示]


一、查找路径:默认为当前目录


二、查找条件:默认查找指定路径下的所有文件。

1、单条件:

-name "文件名":按照"文件名"精确查找,区分字符大小写;也支持文件名统配查找


-iname "文件名":按照"文件名"精确查找,但不区分字符大小写;也支持文件名统配查找


-user UserName:根据属主查找。


-group GroupName:根据属组查找。


-uid UID:根据uid查找。


-gid GID:根据gid查找。


-nouser:查找没有属主的文件。


-nogroup:查找没有属组的文件。


如:#find /etc -name "passwd"


如:#find /etc -name "passwd*"


如:#find /tmp -user shanghai


如:#find /tmp -group shanghai


如:#find /tmp -uid 888


如:#find /tmp -gid 888


2、组合条件:

-a:与,两个条件时,-a可以省略。

-o:或

-not,!:非


如:查找/tmp下,没有属主或者属主为shanghai的文件


#find /tmp -nouser -o -user shanghai


#find /tmp -user shanghai-name "*.txt",注意:-a省略了。



#find /tmp -user shanghai-not -name "*.txt",注意:-a省略了。


3、-type:根据"文件类型"查找。


f:普通文件

d:目录

b:块设备

c:字符设备

l:符号链接

p:命名管道

s:套接字


#find /tmp -type d:查找/tmp下的“所有目录文件”。


4、-size:根据"文件大小"查找。


-size [+|-]# Unit,常用的单位,k(小写),M,G


如:#find /tmp -size +2MB


5、根据时间戳查找.


以天为单位(time):

-atime [+|-]#:访问过的文件。

 如-atime +2:两天前访问过的文件,

   -atime -2:两天内访问过的文件,

            -atime 2:刚好两天访问过的文件


-mtime [+|-]#:修改过的文件。


-ctime [+|-]#:改变过的文件。


以分钟为单位(min):


6、根据权限查找:

-perm [+|-] MODE:

MODE:精确匹配。

+MODE:任何一类用户的任何一位权限匹配。

-MODE:每类用户的任何一位都匹配。


如:#find /tmp -perm 655


三、查找后的执行动作:默认为显示


-print :打印在标准输出设备上,默认。


-ls:以长格式输出各文件信息。


-exec COMMAND \;:对查找到的文件执行指定的命令。


-ok COMMAND \; :交互式的-exec


如:#find /usr/local -ls















本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1642168 ,如需转载请自行联系原作者