如何删除 Mac 目录下的 .DS

如何删除 Mac 目录下的 .DS

本文简要介绍了 macOS 系统中 .DS_Store 文件的作用以及如何快速删除当前目录及其所有子目录中的 .DS_Store 文件。

DS_Store 文件

DS_Store (Desktop Services Store) 文件是 macOS 系统中 Finder 文件管理器自动生成的,用来存放文件夹 视图 相关配置的文件。

当用户打开某文件夹时,Finder 依此文件决定如何显示文件夹中的各种元素,如:窗口的位置和大小、背景图片、文件列表的呈现方式(图标、列表、分栏等)、排序方式、显示的图标位置等。

DS_Store 文件一般都会带有前缀 . 即 .DS_Store,带有该前缀的文件或文件夹在 Finder 中默认隐藏不显示。

每当我们通过 Finder 访问某个文件夹时,Finder 会首先尝试读取该文件夹下的 .DS_Store 文件。

若该文件存在,Finder 会依其内容确定显示的视图;若不存在,Finder 会自动创建 .DS_Store 文件。

每个文件夹下都存在决定该文件夹展示视图的 .DS_Store 文件,其中的视图参数可以不同。

因此当我们打开某文件夹中的子文件夹时,可能发现 Finder 的视图发生了变化,这是因为我们曾经手动更改过该子文件夹的视图,其 .DS_Store 中的设置与父文件夹不同。

如何删除

如上所述,.DS_Store 中只记录了该文件夹中内容的呈现方式,因此删除 .DS_Store 文件并不会对文件夹中的内容有任何影响,只会使 Finder 以默认视图打开该文件夹。

通常情况下我们并不需要在意 .DS_Store 文件,除非:

清除文件夹的视图设置;

文件夹内容显示异常,如图标错位、找不到某个文件等;

将 macOS 系统中的文件传输至其他系统,如 Windows 或 Linux 系统;

将文件资源打包进项目,如将资源目录部署至网站服务器。若不删除 .DS_Store 文件,会导致目录结构泄露,从而暴露后台管理页面以及数据库文件等。

1

2

3

4

5

# 仅删除当前目录下的 .DS_Store

$ rm .DS_Store

# 删除当前目录及其所有子目录下的所有 .DS_Store

$ find . -name '.DS_Store' -type f -delete

find 参数简介:

-name <文件名>:按文件名查找。

-type <文件类型>:按文件类型查找。

b:目录(directory)

f:文件(regular file)

l:链接(symbolic link)

-delete:删除查找到的文件。

其他操作

一般情况下,推荐仅在真正需要的时候删除相关目录下的 .DS_Store 文件。

警告

以下操作仅作为记录,笔者未运行相关代码操作,不对任何后果负责。

1

2

3

4

5

6

7

8

9

10

11

# 删除 macOS 系统中所有 .DS_Store 文件

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

# 定时自动删除 macOS 系统中所有 .DS_Store 文件

$ sudo crontab -e

# 添加如下内容,格式为:<分钟> <小时> <日期> <月份> <星期> <待执行命令>

15 1 * * * root find / -name '.DS_Store' -depth -exec rm {} \;

# 系统会在每天 1:15 自动执行命令

# 禁止 Finder 在共享的网路驱动上自动创建 .DS_Store 文件

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

参考

Delete .DS_STORE files in current folder and all subfolders from command line on Mac

Mac OS X: How to remove .DS_Store files

DS_Store Files (What & How to Open,Hide,Delete & Disable)

相关推荐

开销的解释

开销的解释

1892 07-15
渝南门户-綦江日期:2024-11-19大中小
烤板栗烤栗子(烤箱家庭版)