linux一切皆文件,文件查找命令find在不指定查找目录的情况下对整个系统进行遍历查找。

格式:find [指定的查找目录] [查找规则] [查找完后执行的动作]

 

查找规则:

(1)       按文件名查找:

-name 根据文件名查找(精确查找)

-iname 不区分大小写查找

通配符:

       *表示通配任意字符

通配任意单个字符

[] 通配括号内的任意单个字符

find命令学习小结_find

(2)       按文件属主和属组查找

-user 根据属主查找

-group 根据属组查找

例子:find/etc –user root

         find /etc –group root

(3)       根据UIDGID查找

例子:查找UID500的文件

         find /tmp –uid 500

find命令学习小结_find_02

(4)       -a –o –not的使用

-a 连接两个不同的条件,两个条必须同时满足

-o连接两个不同的条件,两个条件满足一个即可

-not 取反

find命令学习小结_find_03

(5)       根据时间戳等相关属性查找

注意:使用stat命令查看文件的时间信息

find命令学习小结_find_04

-atime 最近一次访问时间

-mtime 最近一次内容修改时间

-ctime 最近一次属性修改时间

-amin

-mmim 分钟

-cmin

[+|-] #

find命令学习小结_find_05

例子:find /tmp –atime +5 查找5天内没有访问过得文件

      find /tmp –atime -5 查找5天内访问过得文件

(6)       根据文件类型查找

-type:

         f 普通文件

         d 目录文件

         l 链接文件

         b 块设备文件

         c 字符设备文件

         p 管道文件

         s  socket文件

find命令学习小结_find_06

(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指定的命令;

{}: 用于引用查找到的文件名称自身;

find命令学习小结_find_07

 

要使用xagrs对查找到的文件进行进一步操作


find命令学习小结_find_08