shell-文件查找命令笔记三

文件查找-find命令

  • 格式:find [路径] [选项] [操作]
  • 选项
    • -name 根据文件名查找
    • -iname 根据文件名查找,忽略大小写
    • -perm 根据文件权限查找
      • find /etc -perm 777
    • -prune 该选项可以排除某些查找目录,格式为-path 排除文件 -prune -o -path 文件 -prune -o 其中-o是或的意思
      • find . -path ./etc -prune -o -type f 查找当前目录下文件类型,排除./etc文件 的文件
      • find . -path ./test -prune -o -path ./test_1 -prune -o -type f
    • -user 根据用户属主查找
    • -group 根据用户属组查找
    • -mtime -n | +n 根据文件更改时间查找, -n表示n天内修改的时间 +n表示n天外修改的时间 n表示n天修改的时间
    • -mmin -n | +n -n表示n分钟修改的时间 +n表示n分钟外修改的时间 n表示n分钟修改的时间
    • -nogroup 查找无有效属组的文件
    • -nouser 查找无有效属主的文件
    • -newer file1 查找更改时间比file1新的文件
      • find . -newer test 查找当前路径下,比test文件新的文件
    • -type 按照文件类型
    • -size +n -n 按照文件大小查找,-n大小小于n的文件 +n大小大于n的文件 n大小等于n的文件
      • find /etc -size +1M 查找/etc目录下,文件大于1M的文件
      • find /etc -size -1M 查找/etc目录下,文件小于1M的文件
    • -mindepth n 从n级子目录开始搜索
    • -maxdepth n 最多搜索到n级子目录
  • 操作
    • -print 打印输出
    • -exec 对搜索的文件执行特定的操作,格式为:-exec 'command' {} \;
      • find /etc -type f -name '*.conf' -size +10k -exec rm -f {} \; 搜索etc目录下,以.conf结尾的,且大于10k的文件,然后将其删除
      • find /var/log -name '*.log' -mtime +7 -exec rm -f {} \; 搜索/var/log目录下,以.log结尾的,更改时间在7天外的文件,然后将其删除
      • find /etc/ -size +10k -type f -name '*.conf' -exec cp {} /root/conf \; 搜索/etc目录 以.conf结尾的 大于10k的文件,然后拷贝到/root/conf路径下
    • -ok 和exec操作一样,每次操作都会给用户提示

逻辑运算符

  • -a 逻辑与
  • -o 逻辑或
  • -not 或 ! 逻辑非
    • find . -not -user hfds | find . ! -user hfds 查找当前路径下,属主不是hfds的文件
    • find . -type f -a \{ -user hfds -o -name '*.xml' \} 查找当前目录下 属主为hfds或以.xml结尾的普通文件
    • find . -type f -a -user hfds -a -size +300c 查找当前路径下 属主hfds 大于300字节的普通文件

locate

  • 文件查找命令,所属软件包mlocate
  • 不同于find命令是在整块磁盘中搜索,locate命令在数据库文件中查找
  • find是默认全部匹配的,locate则是默认部分匹配

updatedb命令

  • 用户更新/var/lib/mlocate/mlocate.db
  • 所使用配置文件/etc/updatedb.conf
  • 该命令在后台cron计划任务定期执行

whereis命令

  • -b 只返回二进制文件
  • -m 只返回帮助文件文件
  • -s 只返回源代码文件

which命令

  • 作用:仅查找二进制程序文件
posted @   phper-liunian  阅读(656)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示