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

find 跳过目录(-prune)

排除整个子树的正确方式:命中目录后不再下钻,常用于跳过 .git、node_modules、缓存目录。

Linux 运维命令速查系统更新于 2026-10-12
用途剪枝跳过指定目录树
语法find ... -name 目标 -prune -o 其他条件 -print
注意必须配合 -o 与末尾 -print

常用示例

常用示例
find /data -name node_modules -prune -o -type f -name '*.js' -print
find / -xdev -name .git -prune -o -name '*.pem' -print
find . -path './cache/*' -prune -o -type f -print

易错点

  • 漏写末尾 -print 会把命中的目录名也输出(-prune 分支默认打印),结果里混入目录
  • -delete 隐含 -depth 自底向上遍历,与 -prune 冲突,剪枝会失效——换个写法先删后剪

数据来源与参考

  • man 1 find(GNU findutils 手册)

相关工具

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