删去当前文件夹中的DS_STORE文件以及Mac上命令行中的所有子文件夹



我知道我可以使用find . -name ".DS_Store"来查找所有。DS将文件存储在当前文件夹和所有子文件夹中。但我怎么能同时从命令行中删除它们呢?我发现来回切换到所有文件夹并逐一删除它真的很烦人。

find可以做到这一点。只需添加-delete:

find . -name ".DS_Store" -delete

进一步扩展以打印它们的相对路径

find . -name ".DS_Store" -print -delete

为了格外小心,您可以排除目录并仅筛选文件

find . -name ".DS_Store" -type f -delete
find . -name ".DS_Store" -print -delete

这将删除当前路径中所有名为.DS_Store的文件,同时显示它们的相对路径

以下是如何递归删除.DS_Store文件

开放式终端在命令行中,转到所有文件和文件夹所在的文件夹位置:

cd to/your/directory

最后,输入以下命令:

find . -name '.DS_Store' -type f -delete

按Enter

干杯!!

您还可以使用扩展的globbing(**(:

rm -v **/.DS_Store

在zsh、bash4和类似的shell中(如果未启用,请通过:shopt -s globstar激活(。

做到这一点的最佳方法是使用:

find . -type f ( -name ".DS_Store" -o -name "._.DS_Store" ) -delete -print 2>&1 | grep -v "Permission denied"

这将删除文件,隐藏";"拒绝许可";错误(同时保留其他错误(,打印出已删除文件的干净列表。

上面的所有答案都有效,但如果一个人正在使用mac并且仍然在mac上,则会出现更大的问题。所描述的行确实删除了所有DS_Store文件,但Finder会立即重新创建它们,因为这是默认行为。你可以在这里读到这一切是如何运作的。引用那里的话,如果你在mac上,你应该只在你真正需要的时候删除它们:

如果你没有特别的理由删除这些。DS_Store文件(窗口共享可能是一个可靠的原因,(最好保持"原样"。删除对性能没有好处。DS存储文件。它们是无害的文件,通常不会引起任何问题。请记住。DS_Store文件保存您的个性化文件夹设置,例如图标排列和列排序。这就是为什么你通常不想删除它们,而是隐藏它们。

如果你真的这样做了,还有一种方法没有在这里提到:

sudo find / -name “.DS_Store” -depth -exec rm {} ;

相关内容

  • 没有找到相关文章

最新更新