find 命令详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find 命令详解相关的知识,希望对你有一定的参考价值。
格式:find path [option] [action]
option:
1、与时间有关的参数:
-atime [+/-] #:查找atime为(#,#+1)的,带+的为大于 #+1 天前的,带“-”的为
小于 # 天的
-mtime [+/-]#:查找mtime为(#,#+1),+/-同上
-ctime [+/-]#:查找ctime为。。。
-amin,-mmin ,-cmin是以分钟为单位,用法同上
-newer file :列出比file还要新的文件
-newer file1 !file2:查找更改时间比file1新但比file2旧的文件
2、权限相关
-perm mode :精确匹配
-perm -mode:表示mode中转换成二进制的1在文件权限位里面必须匹配,比如mode=644那么转换 成二进制为110 100 100,而被查找的文件的权限位也可以被转换成一个二进制数,两者在位上为1 的部分必须完全匹配,而0则不管。例如被查找的文件的权限为转换成二进制数是111 111 111那么
这个就会被匹配,而假如是100 100 100那么则不会匹配,简言之,查找的是权限大于等于mode的权
限。
-perm +mode:与-mode正好相反,只要有以为上有1匹配就可以匹配到。如110 110 100 与000 110 100就能匹配到,而与001 001 011 就匹配不到
3、根据属主属组查找
-user USERNAME
-group GROUPNAME
-uid UID:利用uid查找对应文件目录
-gid GID:利用gid查找对应文件目录
-nouser:查找无属主文件或目录
-nogroup:查找无属组文件或目录
4、根据文件类型查找
-type TYPE
TYPE:
f:普通文件
d:目录文件
s:套接字文件
b:块设备
c:字符设备文件
p:管道文件
5、根据文件名查找
-name NAME(支持通配符)
-iname NAME 忽略字符大小写
-regex ‘正则’ 支持正则表达式
6、根据文件大小
-size #(单位K,M,G):查找文件大小为(#-1,#]范围内的文件
-size -#:查找文件大小为[0,#-1]范围内的文件
-size +#:查找文件大小为(#,无穷大)范围内的文件
-empty:查找文件大小为0或空目录
7、设定搜索深度
-depth:忽略搜索目录
-maxdepth #:最大搜索深度
-mindepth #:最小搜索深度
8、处理动作
-print:将搜索结果打印到屏幕上(默认)
-ls:类似ls -l
-delete:删除
-fls /path/to/somefile:将搜索结果保存到指定文件
-ok COMMAND {} \; :将查找到的文件交由COMMAND处理,有交互式
-exec COMMAND {} \;:类似于-ok,但不会询问用户送给
注意:find传递查找到的文件至后面的命令时,会把所查找到的文件一次性命令,但有些命令不能接受过多参数,此时可以用find ....-xargs COMMAND
9、组合条件
-a:与
-o:或
-not,!:非
!A -a !B= !(A -o B)
!A -o !B= !(A -a B)
本文出自 “11095819” 博客,请务必保留此出处http://11105819.blog.51cto.com/11095819/1760330
以上是关于find 命令详解的主要内容,如果未能解决你的问题,请参考以下文章