We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
前两天,小伙伴准备发个图片素材压缩包给我。
当她用软件浏览压缩包,确认内容是否正确时,发现了一个未曾见过的神秘文件”.DS_Store“。
此文件名前缀带了”.“,据此推测这应该是一个隐藏文件。
在「访达」里显示一个隐藏文件不是难题,于是她同时按住快捷键 ”Command+Shift+。“,成功显示隐藏文件。但是,依然看不见这个文件!
那么,这个神秘的文件”.DS_Store“究竟是何方神圣?
为什么苹果要极力隐藏它,即使在”显示隐藏文件“模式下依然不可见?
让我们继续往下看。
DS_Store,英文全称是 Desktop Services Store(桌面服务存储),开头的 DS 是 Desktop Services(桌面服务) 的缩写。它是一种由macOS系统自动创建的隐藏文件,存在于每一个用「访达」打开过的文件夹下面。
虽然不能在「访达」中直接看到它,但是通过「终端」App,可以输入`ls -la`命令列出。同时,通过`file`命令,可以显示出其文件类型,即”Desktop Services Store“。
「终端」可以看到.DS_Store文件
DS_Store 文件的主要作用,是存储当前文件夹在桌面显示相关方面的一些自定义属性,包括文件图标的位置、文件夹上次打开时窗口的大小、展现形式和位置等。这有助于保留为特定文件夹配置的设置,例如,将桌面文件夹设置为查看按名称排序的图标,同时将下载文件夹配置为将文件显示为列表并按日期排序,最近修改的先显示。
后来,苹果又往里面加入了一些和文件注释相关的自定义信息。(这部分注释信息在最新的macOS中,同时被存储在文件自身的扩展文件属性中,这里仅作为了备份)
使用Hex Fiend查看.DS_Store文件里面存储了和右击文件「显示简介」中我写的注释一样的内容
DS_Store 文件被苹果作为底层数据隐藏在系统中,不期望用户接触到。它存储的元数据仅仅被「访达」用于文件夹的自定义显示。它不会占用太多的存储空间,所以不用过于担心。
DS_Store 文件是由系统自动创建的,它的存在有时候会对某些场景下的用户体验产生一些负面的影响。
为了加快网络磁盘的浏览速度,苹果提供了针对通过SMB共享的网络磁盘上DS_Store文件的阻止生成方案:
1. 在「访达」中打开「应用程序」 > 「实用工具」 > 「终端」。
2. 输入以下命令:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
3. 然后退出登录 macOS 账户并重新登录。
要重新启用,请输入以下命令:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE
但是,以上命令只是针对网络磁盘,想要阻止本地磁盘中 DS_Store 文件的自动生成?
唯一的方式就是停止使用「访达」,不过我想大家应该不会考虑这么做。
既然 DS_Store 文件不会占用太大的磁盘空间,又对文件夹的显示有帮助,那为什么我们有时候还要删除它呢?下面是一些可能的原因:
首先,要声明的一点是,删除 DS_Store 文件完全是安全的操作,它不会损害电脑,也不会造成个人数据丢失。删除后,「访达」在打开文件夹是会以默认显示模式显示文件夹。在你进行某些「访达」操作后,系统又会在后台自动创建 DS_Store 文件。
如果你想删除 DS_Store 文件,可以通过「终端」App 进行删除。
到这里,当前文件夹目录下的所有 .DS_Store 文件都会消失。
删除操作有些麻烦,而且有时候在某些情况下,我们并不一定要通过删除才能解决 DS_Store 文件带来的问题。
在我平时的工作中,经常遇到的情况就有两种:
(如果有同学有其他情况下的解决方案,欢迎留下评论。)
下面我就介绍一下,如果在不删除 DS_Store 文件的条件下,解决上面两种情况下的需求:
这里我使用一款叫做 Keka 的解压缩软件,在它的偏好设置中,勾选“排除 Mac 资源文件(例如:.DS_Store)”。
然后,使用它来压缩文件夹时,它会自动忽略 DS_Store 文件。再次浏览压缩后的压缩包,再也看不到 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代码仓库中了!
我是 Jim Ye, 如果你喜欢这篇文章,欢迎三连(点赞+收藏+关注),感谢支持! 如果你有任何想法,欢迎留言。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前两天,小伙伴准备发个图片素材压缩包给我。
当她用软件浏览压缩包,确认内容是否正确时,发现了一个未曾见过的神秘文件”.DS_Store“。
此文件名前缀带了”.“,据此推测这应该是一个隐藏文件。
在「访达」里显示一个隐藏文件不是难题,于是她同时按住快捷键 ”Command+Shift+。“,成功显示隐藏文件。但是,依然看不见这个文件!
那么,这个神秘的文件”.DS_Store“究竟是何方神圣?
为什么苹果要极力隐藏它,即使在”显示隐藏文件“模式下依然不可见?
让我们继续往下看。
.DS_Store 文件究竟是什么?
DS_Store,英文全称是 Desktop Services Store(桌面服务存储),开头的 DS 是 Desktop Services(桌面服务) 的缩写。它是一种由macOS系统自动创建的隐藏文件,存在于每一个用「访达」打开过的文件夹下面。
虽然不能在「访达」中直接看到它,但是通过「终端」App,可以输入`ls -la`命令列出。同时,通过`file`命令,可以显示出其文件类型,即”Desktop Services Store“。
「终端」可以看到.DS_Store文件
DS_Store 文件的主要作用,是存储当前文件夹在桌面显示相关方面的一些自定义属性,包括文件图标的位置、文件夹上次打开时窗口的大小、展现形式和位置等。这有助于保留为特定文件夹配置的设置,例如,将桌面文件夹设置为查看按名称排序的图标,同时将下载文件夹配置为将文件显示为列表并按日期排序,最近修改的先显示。
后来,苹果又往里面加入了一些和文件注释相关的自定义信息。(这部分注释信息在最新的macOS中,同时被存储在文件自身的扩展文件属性中,这里仅作为了备份)
使用Hex Fiend查看.DS_Store文件里面存储了和右击文件「显示简介」中我写的注释一样的内容
DS_Store 文件被苹果作为底层数据隐藏在系统中,不期望用户接触到。它存储的元数据仅仅被「访达」用于文件夹的自定义显示。它不会占用太多的存储空间,所以不用过于担心。
能否阻止 DS_Store 文件的自动生成?
DS_Store 文件是由系统自动创建的,它的存在有时候会对某些场景下的用户体验产生一些负面的影响。
为了加快网络磁盘的浏览速度,苹果提供了针对通过SMB共享的网络磁盘上DS_Store文件的阻止生成方案:
1. 在「访达」中打开「应用程序」 > 「实用工具」 > 「终端」。
2. 输入以下命令:
3. 然后退出登录 macOS 账户并重新登录。
要重新启用,请输入以下命令:
但是,以上命令只是针对网络磁盘,想要阻止本地磁盘中 DS_Store 文件的自动生成?
唯一的方式就是停止使用「访达」,不过我想大家应该不会考虑这么做。
何时要删除 DS_Store 文件?
既然 DS_Store 文件不会占用太大的磁盘空间,又对文件夹的显示有帮助,那为什么我们有时候还要删除它呢?下面是一些可能的原因:
如何删除 DS_Store 文件?
首先,要声明的一点是,删除 DS_Store 文件完全是安全的操作,它不会损害电脑,也不会造成个人数据丢失。删除后,「访达」在打开文件夹是会以默认显示模式显示文件夹。在你进行某些「访达」操作后,系统又会在后台自动创建 DS_Store 文件。
如果你想删除 DS_Store 文件,可以通过「终端」App 进行删除。
到这里,当前文件夹目录下的所有 .DS_Store 文件都会消失。
某些情况下的 DS_Store 文件忽略方案
删除操作有些麻烦,而且有时候在某些情况下,我们并不一定要通过删除才能解决 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 文件,执行命令:
2. 将这个全局的 .gitignore 文件加入Git的全局config文件中,执行命令:
哦了,. DS_Store 再也不会出现在你项目的Git代码仓库中了!
总结
The text was updated successfully, but these errors were encountered: