| 作用 |
实时查找工具, 通过遍历指定路径下的文件, 完成查找文件, 相比较于 locate 速度会慢一些, 但是功能要比 locate 强大.
| 语法 |
find [查找路径] [查找条件] [处理动作]
[查找条件]
根据文件名查找
- -name "FILENAME" // 根据指定的文件名查找, 支持 glob 匹配 (*,?,[ ],[^])
- -iname "FILENAME" // 根据指定的文件名查找, 不区分大小写, 支持 glob 匹配
- -regex "模式" // 以模式匹配查找
根据文件类型查找
-type TYPE // 根据文件类型查找 (TYPE:f,d,l,s,b,c,p)
根据文件大小查找 (支持的单位有: k | M | G)
- -size #k // 查找 (#-1)k - #k 之间大小的文件
- -#k // 查找 0 - (#-1)k 之间大小的文件
- +#k // 查找 # - 无穷大 之间大小的文件
根据时间查找
- -atime # // 查找 # - (#+1) 天之间访问的文件
- +# // 查找 # 天以上访问的文件
- -# // 查找 # 天以内访问的文件
- -mtime #|+#|-# // 查找 #... 天修改过的文件
- -ctime #|+#|-# // 查找 #... 天改变的文件
- -amin #|+#|-# // 查找 #... 分钟改变的文件
- -mmin
- -cmin
根据用户, 组, 权限查找
- -user USERNAME // 根据文件的属主查找
- -group GROUPNAME // 根据文件的属组查找
- -uid UID // 根据 uid 查找
- -gid GID // 根据 gid 查找
- -nouser // 查找没有属主的文件
- -nogroup // 查找没有属组的文件
- -perm 222 // 与 222 精确匹配的文件
- -222 // 包括 222 权限的文件
- +222 // 三个权限只要一个匹配就可以
组合条件查找
条件 1 -a 条件 2 // 与: 1 和 2 必须同时满足
条件 1 -o 条件 2 // 或: 1 和 2 只需要满足一个就可以
-not | ! 条件 //-not 或 ! 都代表取反
[处理动作]
- -print // 打印到当前屏幕, 默认动作
- -ls // 和 ls -l 一样
- -exec COMMAND { } \;
- -ok COMMAND { } \;
| 实例 |
- find /home -name jack -print // 查找 home 目录下文件名为 jack 的文件
- find /home -name "[0-9]*.txt" // 查找 home 目录下以数字开头, 结尾为. txt 的文件
- find /home -type d -print // 查找 home 目录下文件类型为目录的文件
- find /home ! -type d // 查找 home 目录下非目录的文件
- find /var -size 5k // 查找 var 目录下 4-5K 的文件
- find /var -size -5k // 查找 4k 以下的文件
- find /var -size +5k -ls // 查找 5k 以上的文件
来源: http://www.bubuko.com/infodetail-2698545.html