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 {} \;:执行动作时不提示用户,直接执行(要求同上)
  • 注意:使用通配时用引号括起来