linux一切皆文件,文件查找命令find在不指定查找目录的情况下对整个系统进行遍历查找。
格式:find [指定的查找目录] [查找规则] [查找完后执行的动作]
查找规则:
(1) 按文件名查找:
-name 根据文件名查找(精确查找)
-iname 不区分大小写查找
通配符:
*表示通配任意字符
?通配任意单个字符
[] 通配括号内的任意单个字符
(2) 按文件属主和属组查找
-user 根据属主查找
-group 根据属组查找
例子:find/etc –user root
find /etc –group root
(3) 根据UID和GID查找
例子:查找UID是500的文件
find /tmp –uid 500
(4) -a 和 –o 和 –not的使用
-a 连接两个不同的条件,两个条件必须同时满足
-o连接两个不同的条件,两个条件满足一个即可
-not 取反
(5) 根据时间戳等相关属性查找
注意:使用stat命令查看文件的时间信息
-atime 最近一次访问时间
-mtime 最近一次内容修改时间
-ctime 最近一次属性修改时间
-amin 天
-mmim 分钟
-cmin
[+|-] #
例子:find /tmp –atime +5 查找5天内没有访问过得文件
find /tmp –atime -5 查找5天内访问过得文件
(6) 根据文件类型查找
-type:
f 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件
s socket文件
(7) 根据文件大小查找
-size
find /root/test –size 2M 查找等于2M的文件
find /root/test –size +2M 查看大于2M的文件
find /root/test –size -2M 查看小于2M的文件
(8) 根据文件权限查找
-perm
find /root/test –perm 755 查找该目录下权限为755的文件
find /root/test –perm /222 只要有一类用户(属主,属组,其他)的权限匹配到就行
find /root/test –perm -222 所有类别的用户都满足才可以
(9) -nouser 和 –nogroup
例子:find /root/test–nouser –a –nogroup 查找既没有属组也没有属主的文件
查找完执行的动作:
-print 默认情况下的动作
-ls 查找到后用ls 显示出来
-ok COMMAND {} \;对查找到的每个文件执行由COMMAND指定的命令;
对于每个文件执行命令之前,都会交互式要求用户确认;
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令;
{}: 用于引用查找到的文件名称自身;
要使用xagrs对查找到的文件进行进一步操作