Linux下find(文件查找)命令的用法总结

使用格式 : 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命令来查看一个文件的时间信息 如下:


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] //查找后执行命令的时候不询问用户,直接执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容