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

xyz*_*xyz 2 unix files mac shell mac-osx

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

这个 shell 命令可以安全地从驱动器中删除所有这些(我有权限的)吗?即没有机会或误报或其他事故。

cd /
find . -name .DS_Store -print0 2>/dev/null | xargs -0 -p rm
Run Code Online (Sandbox Code Playgroud)

Den*_*son 6

到目前为止给出的答案都没有解决安全问题,我也不能全面解决。但是,我可以说您显示的命令将按您的意图工作(另外,您可以在删除每个文件之前获得提示)。

我会添加-type f一点额外的安全。

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

这是完整性的另一种形式:

find / -name .DS_Store -type f -exec rm -i {} +
Run Code Online (Sandbox Code Playgroud)

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