苹果系统.DS_Store文件的产生与清理

Posted by zihengCat on 2017-05-20

前言

使用苹果系统的同学都大都认识这个*.DS_Store文件, 这个文件是苹果桌面程序Finder产生,纪录了当前目录的一些显示信息,比如, Finder以何种形式显示目录, 目录文件图标大小, 背景图, 目录元数据等等。该文件的全称是Desktop Services Store*,由Finder产生,为Finder所用。有点类似与Windows系统下的desktop.ini文件。
该文件默认是隐藏的,Unix Like系统,文件or目录名带点号.的,会被认为是隐藏文件。
其实普通用户不需要在意这个文件,默认就是隐藏的,Finder也不会让你看到。但是啊,子恒喵有点精神洁癖,不喜欢在目录下出现多余的东西…而且在归档压缩挂载共享文件系统时,这个文件总是会跑出来,让人很不爽。所以子恒喵决定干掉它。

Finder隐藏文件的显示/关闭

Finder默认是不显示隐藏文件(以.开头的文件或目录)的,我们可以输入如下命令显示隐藏文件。

$ defaults write com.apple.finder AppleShowAllFiles -bool true

当然我们也可以关闭显示隐藏文件。

$ defaults write com.apple.finder AppleShowAllFiles -bool false

执行完命令后,让Finder退出重启就可以啦。

$ killall Finder 

.DS_Store文件的生成/关闭

命令行下输入以下命令可以禁止系统创建*.DS_Store*文件。注意,命令是区分用户的,以哪个用户的身份执行,就改写哪个用户的配置文件。

$ defaults write com.apple.desktopservices DSDontWriteStores true
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true

输入反向命令可以恢复。
执行完命令后,让Finder退出重启使生效。

$ killall Finder 

注: 上述方法在OSX10.7后已经失效,写命令查找删除好了…

命令删除.DS_Store文件

$ sudo find / -name ".DS_Store" -depth -exec rm {} \;

使用find命令查找目标文件,删除掉就可以啦。

$ find ./ -name ".DS_Store" -depth -exec rm {} \;

清除当前目录下所有*.DS_Store*文件。