10.1 常用查找
which
:查找命令字所在位置
located
:模糊匹配(只要包含关键字的文件都查找出来),不是实时的,基于数据库的查找,updatadb升级locate升级数据库
10.2 find
- 功能:查看文件或目录的工具
- 精确查找
- 遍历整个指定目录中的文件,速度很慢
- 支持多种查找条件(属主,属组,权限,文件名等)
语法:find [find_path] [条件] [处理动作]
- find_path:如果不写,默认在当前工作目录查找
- 条件:如果不写,会查找出该路径下所有的文件
- 处理动作:默认打印到屏幕上print
条件:(匹配标准)
- -name file_name :根据文件名进行查找,区分大小写
- -iname file_name :根据文件名进行查找,不区分大小写
- -regex PATTERN:根据正则表达式的模式进行查找
- -user :通过属主进行查找
- -group:通过数组查找
- -uid UID:通过UID号查找
- -gid GID:通过gid号查找
- -nouser:查找没有属主的文件
- -nogroup:查找没有属组的文件
- -type:根据文件类型查找(b c d f(文件) p s l )
-size [+ | - ] :
- -size 5k :精确匹配5k大小的文件
+ 5k
:匹配大于5k的文件- 5k
:匹配小于5k的文件
- -mtime:时间单位为天,modify时间(后面跟 + - 号表示 大于小于)
- -atime:时间单位为天,access时间
- -ctime:时间单位为天,change时间
- -mmin:时间单位为分钟,modify时间
- -amin:时间单位为分钟,access时间
- -cmin:时间单位为分钟,change时间
- -perm MODE:(MODE是权限),精确匹配文件文件权限为MODE的文件
- -perm /MODE:(MODE是权限),任意一位匹配
- -perm -MODE:(MODE是权限),文件权限能够完全包含此MODE时才能匹配
条件组合:
- -a:and 同时满足多个条件,find /tmp/ -user tom -a -perm 644 -ls
- -o:or 满足一个条件即可,find /tmp/ -user tom -o -perm 644 -ls
- -not :不满足条件的被查找出来
处理动作:[action]
- -print:默认动作,默认查找结果打印到屏幕
- -ls:默认以 ls -l 的形式显示结果信息
-ok COMMAND {} \;
:执行动作时提示用户是否执行(必须以\;
结尾,{}
代表文件占位符)-exec COMMAND {} \;
:执行动作时不提示用户,直接执行(要求同上)- 注意:使用通配时用引号括起来