macos - 有没有办法防止 OSX 用数千个 .DS_Store 文件污染我的项目?

我真的很想摆脱他们。我一直在删除这些文件,它们总会在某个时候恢复。我知道 OSX 希望在内存中保留文件夹的组织,但如果我可以停用此行为,那就太棒了。

最佳答案

有没有办法阻止 OSX(现在是 macOS)创建 .DS_Store 文件? 几乎没有。

多年来,已经有一些工具可以解决这个问题。我印象最深的是Asepsis因为作者一直在直言不讳地谈论这个问题以及停止开发的整个过程。

Apple 显然对试图阻止 .DS_Store 文件的用户感到不安,但是在系统完整性保护(和其他一些限制)出现后,制作工具变得更加困难,对人们来说也更加困难舒适地安装它,并且要使其与每个 OSX 版本保持同步要困难得多。

Apple 显然坚信 .DS_Store 文件对用户的享受至关重要。从 10.4 开始,这些文件还开始存储一些 Spotlight 元数据,因此 Apple 依赖它们的不仅仅是“仅仅”图标放置。

从 macOS Sierra 开始,他们甚至强制从 Finder 中隐藏这些文件。现在,当您启用“显示所有隐藏文件”时,它仍然不会显示 .DS_Store 文件。

就个人而言,我以详细模式查看所有文件夹并且不使用标签,所以我真的没有用到 .DS_Store 文件。

有办法摆脱它们吗?是的。许多,事实上。您甚至可以将其自动化。

您可以通过以下方式从终端中删除它们:

找到 . -name '.DS_Store' -type f -delete

注意:将其更改为 find/name_of_folder_to_search -name... 以便从其他文件夹中删除 .DS_Store 文件,然后 sudo find/Volumes -name '.DS_Store' -type f -delete 从您的 mac 可以访问的每个文件系统中删除它们。

要自动执行此操作,您可以使用 cron 和一行

0 * * * * find/Volumes -name '.DS_Store' -type f -delete

还有两个好处:

  1. 如果您的系统启用了“显示隐藏文件”但您不想在桌面上看到它们,请查看我写的另一个答案:https://superuser.com/a/950897/191730
  2. 还有其他隐藏文件! “AppleDouble”是一种常见的类型,它实际上在 macOS 中内置了自己的清理工具:dot_clean

https://stackoverflow.com/questions/49222354/

相关文章:

java - 如何在 GraphQL Java 上拆分模式

json - 如何在 vuejs 中将 JSON 对象发布到 Web 服务器?

spring - @Transactional(read-only = true) 的目的是什么

javascript - 如何从提供 NET::ERR_CERT_AUTHORITY_INVALID

git - 如何在 VS Code 中只提交跟踪的文件?

sql - Oracle left join 表现得像 inner join

google-forms - 在谷歌表单中将文本右对齐

python - 在 spark-submit 之前安装 pyspark 作业的要求

protocol-buffers - 运行 protoc 时是否可以指定输出版本?

git - 从 GitLab merge 请求中排除特定提交