文章目录
.DS_Store 是什么
.DS_Store (英文全称 Desktop Services Store)是一种由苹果公司的 Mac OS X 操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。该文件由 Finder 创建并维护,类似于 Microsoft Windows 中的 desktop.ini 文件。1
禁用或启用自动生成
可通过Terminal输入以下命令来禁止或恢复在网络文件夹上自动生成.DS_Store:
- 禁止.DS_store生成:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
- 恢复.DS_store生成:
defaults delete com.apple.desktopservices DSDontWriteNetworkStores
场景说明
正常来说我是不建议直接在 macOS 上直接禁止 .DS_store 自动生成,因为禁用后一些自定义就不能生效了。
在 macOS 上我安装了一款名叫 OrbStack 的软件,功能和 Docker Desktop 差不多。我在上面跑了一个 Ubuntu 系统,用作平时开发使用。有时候开发时需要安装一些版本相对较旧的环境,用虚拟机来部署开发环境可以很好的避免冲突问题。
但如此一来就引发出一个小问题,由于偶尔会使用 Finder 来打开开发项目目录,甚至使用一些自定义排序等操作,这时就会生成 .DS_store。如果仅仅只是生成 .DS_store 也就算了,因为 VSCode 与 .gitignore 能有效的排除掉,在项目上并不会影响到我。
但事实上并不是如此顺利,我在 macOS 上运行的 Ubuntu 虚拟机里看到很多个 ._.DS_store
这样奇怪文件。有强迫症的我表示非常难受,于是就想办法处理掉。
VSCode 上隐藏文件
设置 -> 用户 -> 常用设置 -> Files: Exclude -> 添加模式 -> **/._.DS_Store
项目使用 git 来管理的话,可以在 .gitignore 里添加以下设置来排除
# misc
.DS_Store
._.DS_Store
这样子就基本上处理掉这些与项目无关的文件啦,虽然只是将其隐藏与排除不提交到仓库里,但眼不见为净。
删除 .DS_Store
如果你想将项目目录下这些无用文件彻底删除的话,可以在项目目录下使用以下指令。
find . -name '.DS_Store' -type f -print -delete
find . -name '._.DS_Store' -type f -print -delete
注: -print
参数应该在 -delete
参数之前使用,以便在删除之前显示文件名。