要批量删除所有带 ._
前缀的文件(包括那些含特殊字符、空格或中文的文件),
可以用以下几种安全且高效的方法,
避免手动处理每个文件:
方法 1:用通配符配合引号批量删除
._
是固定前缀,直接用通配符 *
匹配后缀,
并用单引号包裹避免特殊字符干扰:
# 删除当前目录下所有以"._"开头的文件(包括含空格、中文的)
rm './._*'
- 原理:
'./._*'
会匹配所有./._
开头的文件,单引号确保文件名中的空格、符号等被正确识别。 - 注意:执行前建议先执行
ls './._*'
预览匹配的文件,确认无误后再删除。
方法 2:用 find
命令批量删除(包括子目录)
如果 ._
前缀的文件分散在子目录中,用 find
命令更彻底:
# 在当前目录及所有子目录中,查找并删除所有以"._"开头的文件
find . -name '._*' -delete
- 安全操作步骤:
-
先预览要删除的文件(不加
-delete
参数):find . -name '._*'
-
确认列表中都是要删除的文件后,再执行带
-delete
的命令。
-
方法 3:处理特殊情况(如文件名含单引号)
如果文件名本身包含单引号(极少情况),上述方法可能失效,
可用 find
结合 exec
强制删除:
find . -name '._*' -exec rm -- {} +
--
用于区分文件名和命令选项,避免文件名以-
开头时被误解析为参数。
这些方法能高效处理带 ._
前缀的文件,
且对含空格、中文、特殊符号的文件名兼容。
操作前务必预览文件列表,确认无误再执行删除,避免误删重要文件。