安全删除给定名称的所有文件

安全删除给定名称的所有文件

在 Mac OS X 上,.DS_Store 文件似乎包含在 Finder(文件管理器 GUI)中查看目录时的自定义视图设置。我希望每个目录都使用我的默认视图设置。

此 shell 命令是否可以安全地从驱动器中删除所有文件(我有权删除的文件)?也就是说,没有机会或误报或其他事故。

cd /
find . -name .DS_Store -print0 2>/dev/null | xargs -0 -p rm

答案1

到目前为止,给出的所有答案都没有解决安全问题,我也不能全面回答。但是,我可以说,您显示的命令将按您的预期工作(此外,在删除每个文件之前都会提示您,这为您提供了额外的安全性)。

我想补充-type f一点额外的安全性。

其他答案的缺点是它们要么不提示继续,要么很慢(但提示权限使得这变得毫无意义),如果要删除大量文件(超过命令行长度最大值)则会失败,或者如果文件名中有空格则会失败(在这种情况下不适用)。

为了完整起见,这是另一种形式:

find / -name .DS_Store -type f -exec rm -i {} +

它会提示确认。它的速度与版本大致相同xargs(除了它会提示每个文件)。如果适用,它会处理带空格的文件名。它将处理任意数量的文件。

答案2

为什么不直接用于find整个事物呢?

find / -name .DS_Store -delete

相关内容