首页/系统/Linux 运维命令速查/find 按条件查找文件(核心)
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

find 按条件查找文件(核心)

功能最强的文件查找工具:按名称、类型、时间、大小、属主、深度筛选并直接执行动作(删除/压缩/执行命令)。

Linux 运维命令速查系统更新于 2026-10-12
用途按多条件递归查找文件并执行动作
语法find [路径...] [表达式]
所属GNU findutils

高频示例

高频示例
find /var/log -type f -name '*.log' -mtime +7 -size +10M -print
find . -maxdepth 2 -type d | head -30
find /data -name '*.tmp' -delete
find /src -type f -exec gzip {} +

组合与排除

组合与排除
find . -name .git -prune -o -type f -name '*.py' -print
find /logs -path '*/archive/*' -prune -o -name '*.log' -print0 | xargs -0 du -sh
-exec ... \; 每个文件启动一次进程,-exec ... + 批量传参只启动一次,速度差距可达几十倍。

易错点

  • -name 的通配符必须加引号,否则会被 shell 先展开;-mtime +30 表示修改时间超过 30*24 小时
  • -delete 隐含 -depth 自底向上删,且只适合删除文件与空目录;操作前先用 -print 空跑确认

数据来源与参考

  • man 1 find(GNU findutils 手册)
  • GNU Findutils 官方手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌