.DS_Store 文件究竟是什么?
DS_Store,英文全称是 Desktop Services Store(桌面服务存储),开头的 DS 是 Desktop Services(桌面服务) 的缩写。它是一种由macOS系统自动创建的隐藏文件,存在于每一个用「访达」打开过的文件夹下面。
虽然不能在「访达」中直接看到它,但是通过「终端」App,可以输入ls -la
命令列出。同时,通过file
命令,可以显示出其文件类型,即”Desktop Services Store“。
DS_Store 文件的主要作用,是存储当前文件夹在桌面显示相关方面的一些自定义属性,包括文件图标的位置、文件夹上次打开时窗口的大小、展现形式和位置等。这有助于保留为特定文件夹配置的设置。
例如,将桌面文件夹设置为查看按名称排序的图标,同时将下载文件夹配置为将文件显示为列表并按日期排序,最近修改的先显示。
后来,苹果又往里面加入了一些和文件注释相关的自定义信息。(这部分注释信息在最新的macOS中,同时被存储在文件自身的扩展文件属性中,这里仅作为了备份)

使用Hex Fiend查看.DS_Store文件里面存储了和右击文件「显示简介」中我写的注释一样的内容
DS_Store 文件被苹果作为底层数据隐藏在系统中,不期望用户接触到。它存储的元数据仅仅被「访达」用于文件夹的自定义显示。它不会占用太多的存储空间,所以不用过于担心。
能否阻止 DS_Store 文件的自动生成?
DS_Store 文件是由系统自动创建的,它的存在有时候会对某些场景下的用户体验产生一些负面的影响。
为了加快网络磁盘的浏览速度,苹果提供了针对通过SMB共享的网络磁盘上DS_Store文件的阻止生成方案:
- 在「访达」中打开「应用程序」 > 「实用工具」 > 「终端」。
- 输入以下命令:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
- 然后退出登录 macOS 账户并重新登录。
要重新启用,请输入以下命令:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE
但是,以上命令只是针对网络磁盘,想要阻止本地磁盘中 DS_Store 文件的自动生成?
唯一的方式就是停止使用「访达」,不过我想大家应该不会考虑这么做。
何时要删除 DS_Store 文件?
既然 DS_Store 文件不会占用太大的磁盘空间,又对文件夹的显示有帮助,那为什么我们有时候还要删除它呢?
下面是一些可能的原因:
1,你想要重置「访达」中文件夹自定义显示的方式,或者由于原有 DS_Store 文件损坏造成「访达」访问文件夹出现无法调整视图样式、无法查看或排序图标等错误。
2,当你在 macOS 与电脑之间拷贝或传输文件的时候,DS_Store 文件会默认被包含在内,可能会引起一些不必要的问题。而且,由于其他PC操作系统或软件不认识这个文件,在传输文件时,DS_Store 文件会显现出来,因为不熟悉 macOS 系统中这个文件是什么而出现疑虑。
3,可能因为这个文件暴露一些关于你电脑的详细信息,从而造成一定的安全隐患。
如何删除 DS_Store 文件?
首先,要声明的一点是,删除 DS_Store 文件完全是安全的操作,它不会损害电脑,也不会造成个人数据丢失。删除后,「访达」在打开文件夹是会以默认显示模式显示文件夹。在你进行某些「访达」操作后,系统又会在后台自动创建 DS_Store 文件。
如果你想删除 DS_Store 文件,可以通过「终端」App 进行删除。
1 在「访达」中打开「应用程序」> 「实用工具」 > 「终端」。
2 定位到你要删除 .DS_Store 文件的文件夹目录下。
3 在「终端」里输入`cd`命令,跟上你的目录文件夹路径,例如: `cd /Users/username/pictures`。
4 回车。
5 输入命令 `find . -name ‘.DS_Store’ -type f -delete`。
6 再次回车。
到这里,当前文件夹目录下的所有 .DS_Store 文件都会消失。
某些情况下的 DS_Store 文件忽略方案
删除操作有些麻烦,而且有时候在某些情况下,我们并不一定要通过删除才能解决 DS_Store 文件带来的问题。
在我平时的工作中,经常遇到的情况就有两种:
1 在压缩文件夹时不想把 DS_Store 文件带进压缩包。
2 在使用版本控制Git管理代码仓库文件夹时,不想把 DS_Store 文件带入仓库。
如果在不删除 DS_Store 文件的条件下,解决上面两种情况下的需求:
使用某些第三方压缩软件压缩文件夹
这里我使用一款叫做 Keka 的解压缩软件,在它的偏好设置中,勾选“排除 Mac 资源文件(例如:.DS_Store)”。
然后,使用它来压缩文件夹时,它会自动忽略 DS_Store 文件。再次浏览压缩后的压缩包,再也看不到 DS_Store 文件了。

Git仓库管理忽略 DS_Store 文件
作为一名使用Mac的开发者,在日常开发过程中,经常会使用Git来对代码文件夹进行版本控制。而在默认情况下,Git会把 DS_Store 文件带入版本控制的范围内。所以,可以手动将其踏入 Git 的版本管理忽略列表。
1. 将 . DS_Store 加入全局的 .gitignore 文件,执行命令:
echo .DS_Store >> ~/.gitignore_global
2. 将这个全局的 .gitignore 文件加入Git的全局config文件中,执行命令:
git config --global core.excludesfile ~/.gitignore_global
这样.DS_Store 再也不会出现在你项目的Git代码仓库中了!
总结
1,DS_Store 是系统自动创建的,存储「访达」打开文件夹时自动显示方式的首选项,以便文件夹以创建者预期的方式显示。
2,苹果没有提供完全阻止本地磁盘生成 DS_Store 文件的办法。
3,可以通过「终端」里输入命令行的方式删除它,不会造成任何电脑损害。但是删除后,只要继续使用「访达」,它有会在背后默默自动创建,所以无法也没必要”赶尽杀绝“。
4,在压缩文件或Git版本管理中,可以通过第三方软件Keka或修改Git配置项来自动忽略 DS_Store 文件。
5,最后,期望苹果在将来的系统更新中,能够更换这类文件数据的存储方式,不要再自动给用户的目录添加看不到的文件了。
一些其他的建议:
可以使用 BlueHarvest 这个 App 来自动清理 DS_Store 文件。

可以自动或者按计划任务时间进行清理非 Mac 磁盘、网络磁盘和指定的某一些文件夹,清理的内容不止是DS_Store 文件,还可以清理 Windows 下的 Desktop.ini 和 Thumbs.db 等文件。
DS_Store 是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。
转自知乎:Jim Ye
版权属于: 三三世界-百宝箱
本文链接: http://33f.net/setup/Mac_DS_Store.html
本文最后更新于2024年04月02日 ,已超过263天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
Saved as a favorite, I like your website!
If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.
Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!
Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.
Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.
zh.us.to 有效
kms.03k.org 有效
kms.chinancce.com
kms.shuax.com 有效
kms.dwhd.org 有效
kms.luody.info 有效
kms.digiboy.ir 有效
kms.lotro.cc 有效
www.zgbs.cc 有效
cy2617.jios.org 有效
@ 权限问题,试试sudo 再加命令。
你好提示Permission denied 怎么办啊