推荐使用 find -name "PATTERN" -type f -delete,高效安全;首次执行前应先用 -print 预览;避免 -exec rm 或 xargs 等低效危险方式。

最快的方法是用 find 配合 -delete 动作,一步到位,不启动多个子进程,也不需要 xargs 或 rm -f 中转。
这是最简洁、高效、安全的方式,尤其适合大量文件:
find /path/to/dir -name "*.log" -deletefind . -type f -name "*.tmp" -delete(加 -type f 可避免误删同名目录)-delete 隐含 -depth,会从下往上删,适合嵌套目录-delete,换成 -print 预览:
find . -name "*.swp" -print
如果只删当前目录(不含子目录),shell 展开更快,但有文件数限制:
rm -f *.o(注意:若无匹配文件,会报错;可用 shopt -s nullglob 避免)rm -f **/*.pyc(启用 shopt -s globstar 后可递归,但性能不如 find)这些写法看着快,其实慢或危险:
find ... -exec rm {} \;:每删一个文件都启动一次 rm,极慢find ... -exec rm {} +:比上一条好,但仍需 fork+exec,不如 -delete
ls *.log | xargs rm:含空格/特殊字符的文件名会出错,且 ls 是冗余步骤-type f 时,-name "foo.*" 可能匹配到目录,导致 -delete 删空整个子树基本上就这些。核心就一条:用 find -name "PATTERN" -type f -delete,预览确认后再执行。
以上就是Linux 下批量删除指定后缀文件的最快方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号