使用格式 : find [指定查找目录] [查找规则] [查找完后执行的action]
[查找目录]
这里要注意的是目录之间要用空格分开
[查找规则]
(1)根据文件名查找
-name //根据文件名查找(精确查找)
-iname //根据文件名查找,但是不区分大小写
这里另外介绍下文件名通配的知识
*表示通配任意的字符
?表示通配任意的单个字符
[ ]表示通配括号里面的任意一个字符
(2)根据文件所属用户和组来查找文件
-user //根据属主来查找文件
-group //根据属组来查找文件
(3)根据uid 和 gid来查找用户
find /tmp -uid 500 //查找uid是500 的文件
find /tmp -gid 1000 // 查找gid是1000的文件
(4)-a and -o and –not的使用
-a 连接两个不同的条件(两个条件必须同时满足)
-o 连接两个不同的条件(两个条件满足其一即可)
-not 对条件取反的
(5)根据文件时间戳的相关属性来查找文件
我们可以使用stat命令来查看一个文件的时间信息 如下:

#-atime 最近一次访问时间 #-amin
#-mtime 最近一次内容修改时间 #-mmin
#-ctime 最近一次属性修改时间 #-cmin
atime,mtime,ctime分别对应“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”
atime的单位指的是“天”,amin的单位是分钟
find /tmp –atime +5 //表示查找在五天内没有访问过的文件
find /tmp -atime -5 //表示查找在五天内访问过的文件
(6)根据文件类型来查找文件
-type
- f // 普通文件
- d //目录文件
- l //链接文件
- b //块设备文件
- c //字符设备文件
- p //管道文件
- s //socket文件
(7)根据大小来查找文件 -size
find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
(8)根据文件权限查找文件 -perm
find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
(9)-nouser and -nogroup
find / -nogroup –a –nouser
在整个系统中查找既没有属主又没有属组的文件
这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉
[查找完执行的action]
-print //默认情况下的动作
-ls //查找到后用ls 显示出来
-ok [commend] //查找后执行命令的时候询问用户是否要执行
-exec [commend] //查找后执行命令的时候不询问用户,直接执行
网友评论