您的位置:首页 > 其它

find 命令详解

2016-04-05 09:58 204 查看
格式: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)

本文出自 “sabor” 博客,请务必保留此出处http://sabor.blog.51cto.com/11095819/1760330
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: