码迷,mamicode.com
首页 > 其他好文 > 详细

find 使用方法

时间:2015-09-11 06:56:30      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:做什么

find [OPTION]... [查找路径] [查找条件] [处理动作]

查找路径:默认为当前路径;

查找条件:指定的查找标准,可以根据文件名、大小、属主属组、类型等进行;默认为找出指定路径下的所有文件;

处理动作:对符合条件的文件做什么操作;默认为输出至屏幕;

查找条件:

(1) 根据文件名进行查找:

-name 文件名:同时-name也支持统配符,范例 -name filename

-iname 文件名:

(2)根据属主,属主查找

-user USERNAME: 根据属主来找文件,USERNAME为属主名

-group GROUPNAME:根据属组来找文件,GROUPNAME为属组名

-uid    USERUID:根据用户帐号的UID找文件,USERUID为用户主UID

-gid     GROUPGID:根据用户组的GID找文件,GROUPGID为用户组GID

-nouser:找没有用户主的文件

-nogroup:找没用用户组的文件

(3) 根据文件类型查找

-type TYPE:表示找的类型为TYPE,

f:普通文件

d:目录

l:符号连接

b:块设备

c:字符设备

p:命名管道

s:套接字

(4)  组合查找条件:

-a:与条件

-o:或条件

-not:非条件

!:非条件

非条件优先线最高,-a条件第2,-o件优先级最低

写个范例:假如我们要找一个普通文件,并且没有用户,我们可以这样写

find /tmp --type f -a -nouser -ls

假如我们找tmp下没有属主,或者是属组是www 的文件

find /tmp \(-nouser -o -group www\) -ls    因为是或条件,所以要用()括起来。要不然ls 只执行其中一项

假如我们要找/etc/下不以.conf结束的文件

find /etc  ! -name *.conf



!A -o !B   = !(A -a B)

!A -a !B = !(A -o B)


(5) 根据文件大小的查找

-size [+-] # 单位

常用单位为K,M,G

#:(#-1)<X≤#   也就说当 我们找5M的文件时,所找出的文件范围为4<X≤5

+#:      X>#,也就是大于5M,x>5M

-#:     0≤x≤ (#-1)      也就是说找小于5M的文件时,所找出的范围是0≤x≤(5-1)。4M以下文件包括4M

5M:4M<X≤5 M

+5M:  X>5M

-5M: 0M≤X≤4M


(6)  根据时间查找:   以天为单位的分别是下面3个

-atime  访问时间         -ctime改变时间        -mtime修改时间

-atime +#: 表示#+1,也就是x≥#+1     举例:-atime +3 表示从≥第4天开始。

- atime -#: 表示#-1,也就是x≤#       举例:   -atime  -3 表示≤ 3天,3天以内包括3天

-atime  #:   就是#<x<#+1  举例:   -atime 3 表示找的时间段3<x<4


(7)

根据权限查找:

-perm [+|-]MODE

MODE:  精确匹配

+MODE:查看文件的权限"包括任一mode的权线"

-MODE: 查看文件的权限"必须要包括全部mode的权线"

动作处理:

-exec  command   \;

-print

-ok command  \;




find 使用方法

标签:做什么

原文地址:http://wskfnso.blog.51cto.com/4025557/1693592

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!