标签:做什么
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 \;
-ok command \;
标签:做什么
原文地址:http://wskfnso.blog.51cto.com/4025557/1693592