find命令

Linux文件查找详解

locate:
非实时,模糊匹配,查找根据全系统文件数据库进行的
#updatedb ,手动生成文件数据库
生成耗时,但是查找快
find:
实时
精确
支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢

find 查找路径 查找标准 查找到以后的处理运作
查找路径: 默认为当前目录
查找标准: 默认为指定路径下的所有文件
处理运作: 默认为显示到屏幕

匹配标准:
-name 'filename':对文件名做精确匹配
文件名通配:
*:任意长度的任意字符

[]
-iname 'filename':文件名匹配时不区分大小写
-regex PATTERN: 基于正则表达式进行文件名匹配

-user USERNAME: 根据属主进行查找
-group GROUPNAME:根据属组进行查找
-UID:
-GID:
-nouser:查找没有属主的文件
-nogroup: 查找没有属组的文件

-type 根据文件类型进行查找
-f: 普通文件
d:
c:
b:
l:
p:
s:

-size
[+][-]#k +大于 -小于 #kb的文件 没有+- 表示等于 -size +10k (查找大于10kb的文件)
#m
#G

组合条件: 如果没有给条件,默认为与
-a:and 与
-o:or 或
-not:非

-mtime 修改时间
-ctime 改变时间
-atime 访问时间
[+][-]#number 多少天
find /tmp -atime +7 ----> 查找tmp目录下至少7天没有访问过的文件
-mmin
-cmin
-amin
[+][-]# 同上,时间单位为分钟

-perm Mode: 根据权限查找
/mode 任意一位匹配即满足此条件
-MODE:文件权限能完全包含此MODE时才符合条件
find ./ -perl -001 --->查找其他用户有执行权限的文件

运作:
-print:显示
-ls: 类似于ls -l的形式显示每一个文件的详细
-ok COMMAND {引用的内容} ;每一次操作都需要用户确认,
-exec COMMAND {} ; 同-ok, 只是每一次操作都不需要用户确认

原文地址:https://www.cnblogs.com/thelovelybugfly/p/10888120.html