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

find 执行动作(-exec / -delete)

边查边干:-exec 调外部命令(\; 单文件一次,+ 批量一次),-delete 直接删除,-ok 交互确认。

Linux 运维命令速查系统更新于 2026-10-12
用途对匹配结果执行命令/删除
语法find ... -exec 命令 {} \; 或 -exec 命令 {} +
性能+ 批量传参远快于 \;

常用示例

常用示例
find /old -name '*.log' -exec gzip -9 {} \;
find /old -name '*.log' -exec gzip -9 {} +
find /srv -name '*.bak' -delete
find . -name '*.tmp' -print0 | xargs -0 rm -v
-exec 里要管道或重定向必须包 sh -c '...',但注意位置参数转义,别把命令写炸。

易错点

  • -exec ... + 模式下 {} 必须是命令最后一个参数,插在中间会报错
  • -delete 直接删没有二次确认,先用 -print 空跑核对集合

数据来源与参考

  • man 1 find(GNU findutils 手册)

相关工具

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