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