标签:linux find bash locate 文件查找
该命令是非实时的,模糊匹配,查找是根据全系统文件数据库进行的,速度比较快;可以自己定义更新数据库的策略,也可以使用updatedb命令手动生成或者更新文件数据库;该命令不经常使用。
该命令是实时的,精确查找,遍历所有目录中的所有文件完成查找,速度比较慢,但是支持众多的查找标准,是最经常使用的文件查找命令。
find 查找路径 查找标准 查找到以后的处理动作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
查找到以后的处理动作:默认为打印到屏幕
-name ‘FILENAME‘ |
该命令对文件名做精确匹配,可以使用文件名通配符 * : 任意长度的任意字符 ? : 长度为1的任意字符 [] : 指定范围内的任意字符 |
-iname ‘FILENAME‘ | 文件名匹配时不区分大小写 |
-regex PATTERN | 基于正则表达式进行文件名匹配 |
-user USERNAME |
根据属主查找 |
-group GROUPNAME |
根据数组查找 |
-uid UID |
根据UID查找 |
-gid GID | 根据GID查找 |
-nouser |
查找没有属主的文件 |
-nogroup | 查找没有数组的文件 |
-type |
f:普通文件 |
d:目录 |
|
c:字符设备文件 |
|
b:块设备文件 |
|
l:链接文件 |
|
p:管道设备文件 |
|
s:套接字文件 |
|
-size |
[+|-]#k:按照k为单位查找文件 |
[+|-]#M:按照M为单位查找文件 | |
[+|-]#G:按照G为单位查找文件 | |
-mtime [ + | - ]# |
modify time,文件最后一次修改时间,单位是天 |
-ctime [ + | - ]# | change time,文件最后一次改变时间,单位是天 |
-atime [ + | - ]# | access time,文件最后一次访问时间,单位是天 |
-mmin [ + | - ]# |
同上,单位是分钟 |
-cmin [ + | - ]# | 同上,单位是分钟 |
-amin [ + | - ]# | 同上,单位是分钟 |
-perm MODE |
精确匹配 |
-perm -MODE | 只有文件权限完全包含此MODE时才符合条件 |
-perm /MODE |
任意一位匹配即满足条件 |
-a | -and 与条件 |
-o | -or 或条件 |
-not | 非条件 |
显示 | |
-ls |
详细显示每一个文档的信息 |
-ok COMMAND {} \; |
每一次操作都需要用户确认 |
-exec COMMAND {} \; |
不需要用户确认 |
find /var -user root -a -group mail
find /usr -not -user root -a -not -user bin -a -not -user student
或者
find /usr -not \( -user root -o -user bin -o -user student\)
find /etc -mtime -7 -a -not \( -user root -o -user kdyzm \)
或者
find /etc -mtime -7 -a -not -user root -a -not -user kdyzm
find / -mtime -1 -a \( -nouser -o -nogroup \) -exec chown root.root {} \;
find /etc -size +1M >> /tmp/etc.largefiles
find /etc -not -perm /222 -ls
本文出自 “狂盗一枝梅的博客” 博客,请务必保留此出处http://kdyzm.blog.51cto.com/8316029/1741454
标签:linux find bash locate 文件查找
原文地址:http://kdyzm.blog.51cto.com/8316029/1741454