命令与文件查找
命令与文件查找
😄 Written by Zak Zhu
参考
- 鸟哥私房菜
- Wray/Linux中find命令的用法汇总(https://www.jb51.net/article/108198.htm)
- 马哥linux视频
查找命令路径
which命令是通过PATH变量来查找命令路径的
which [-a] COMMAND
查找文件路径
功能强大的find命令
find命令语法
find [查找路径] [查找条件] [处理动作]
查找条件
根据文件类型
-type {f | d | b | c | l | p | s}
e.g. find ./ -type d
根据文件名称
Support glob
- -name FILENAME
- -iname FILENAME # ingnore-case name
e.g. find /etc/ -name passwd
根据文件属性
- -user USER
- -group GROUP
- -uid UID
- -gid GID
- -nouser
- -nogroup
e.g. find ./ -user zac
根据文件权限
-perm [+ | -]MODE
- MODE: 精确匹配该文件权限, 则符合条件
- +MODE: 匹配该文件权限中任何一位, 则符合条件
- -MODE: 同时存在于该文件User, Group, Other中, 则符合条件
e.g. find ./ -perm 0777
e.g. find ./ -perm +222
e.g. find ./ -perm -222
根据文件大小
-size [+ | -]SIZE
File Size: 小数进一匹配
e.g. find ./ -size 1M
e.g. find ./ -size +50M -size -100M
# 实际查找的是(50, 99]MB的文件
根据文件时间
- -atime DAY, -mtime DAY, -ctime DAY
- -amin MINUTE, -mmin MINUTE, -ctime MINUTE
下图非常重要, 看懂就理解时间参数的意义
截取自<鸟哥私房菜P190 图7-2>
其他常用选项
-
-maxdepth LEVEL
e.g.
find ./ -maxdepth 1
-
-empty
- 查找空文件: eg
find ./ -type f -empty
- 查找空目录: eg
find ./ -type d -empty
- 查找空文件: eg
条件逻辑组合
- -a # and
- -o # or
- -not
e.g. find ./ \( -nouser -o -nogroup \) -a \( -not -iname '*bz2*' \)
处理动作
-exec COMMAND {} \;
e.g. find ./ -name '*.doc' -exec mv {} {}.x \;