.DS_Store

.DS_Store是由macOS创建的隐藏文件,用于存储目录的自定义属性,如图标位置和背景色选择。它由Finder创建并维护,存储了目录的显示设置元数据。macOS10.4Tiger中,.DS_Store包含目录所有文件的Spotlight注释,但在macOS10.5Leopard中,注释被改为存储在扩展文件属性中。用户可以通过特定命令禁用或启用.DS_Store的自动生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的macOS操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。该文件由Finder创建并维护。

目的

尽管这些文件本来是为Finder所使用,但它们被设想作为一种更通用的有关显示设置的元数据存储,诸如图标位置和视图设置。例如,在macOS 10.4 "Tiger"中.DS_Store包含了一目录的所有文件的Spotlight注释。然而,在macOS 10.5 "Leopard"中这种方式又被更改了,注释(现称为关键字)被改成存储在了扩展文件属性中。

存放

默认情况下,macOS的Finder程序会在进行存取的每个目录下创建.DS_Store文件,甚至是在远程系统上的目录(例如通过SMB连接或者苹果文件协议连接来共享的目录),并且甚至如果用户仅仅通过移动该目录的Finder窗口自定义了其显示。这与既存的在先前版本的Finder中为了同样目的所使用的方式的系统形成了对比,先前的只会放置一些不可见文件于卷的根目录下(甚至在外部文件系统上),并总是将整个驱动器的所有目录的设置与元数据存储在这类文件的单一集合中。

禁用或启用自动生成

在收到用户们对远程系统上.DS_Store文件会自动创建的投诉之后,苹果公司在其技术支持站点发表了一篇文章,详细讲述了如何禁止远程.DS_Store文件利用网络连接进行的创建。然而,这一操作指南并不适用于本地驱动器,包括USB闪存盘。
打开“终端”,复制粘贴下面的命令,回车执行,重启Mac即可生效。

  • 禁止.DS_store生成:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

  • 恢复.DS_store生成:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

参考

Apple Support:How to prevent .DS_Store file creation over network connections

转载:https://zh.wikipedia.org/wiki/.DS_Store

### .DS_Store 文件概述 .DS_StoremacOS 系统中的一个隐藏文件,用于存储 Finder 的特定设置信息[^1]。这些信息可能包括窗口布局、图标位置、背景颜色以及其他界面定制选项。 当用户打开某个目录时,macOS 会自动生成该文件以便保存用户的个性化视图偏好。尽管它对 macOS 用户体验至关重要,但在跨平台环境中(例如 Linux 或 Windows),这个文件通常是不必要的,并可能导致混淆或误操作。 --- ### 处理 .DS_Store 文件的方法 #### 方法一:通过编程删除 可以利用 Python 脚本检测并移除指定路径下的 `.DS_Store` 文件。以下是实现方法: ```python import os def remove_ds_store(directory): """ 删除指定目录及其子目录中的所有 .DS_Store 文件 """ for root, dirs, files in os.walk(directory): if ".DS_Store" in files: ds_store_path = os.path.join(root, ".DS_Store") print(f"Deleting {ds_store_path}") os.remove(ds_store_path) if __name__ == "__main__": target_directory = "./mask_pic/" remove_ds_store(target_directory) ``` 上述脚本能够递归遍历目标目录树结构,找到所有的 `.DS_Store` 文件并将其删除。 --- #### 方法二:解析 .DS_Store 文件的内容 如果需要分析而不是简单地删除 `.DS_Store` 文件,则可借助专门的库来完成此任务。例如 `Python-dsstore` 提供了一种便捷的方式提取其中的数据[^2]。 安装命令如下: ```bash pip install python-dsstore ``` 下面是一个简单的例子展示如何读取 `.DS_Store` 中的信息: ```python from dsstore import DSStore with DSStore.open('.DS_Store', 'r') as d: for record in d.traverse_records(): print(record.filename, record.type, record.data) ``` 这段代码将打印出 `.DS_Store` 文件内的记录详情,帮助开发者理解其内部数据构成。 --- ### 总结 .DS_Store 文件虽然对于 macOS 来说非常重要,但它可能会干扰其他操作系统上的工作流程或者版本控制系统 (如 Git) 。因此,在共享资源之前建议清理掉这类无关紧要的元数据文件;而如果有研究需求的话,则可以通过专用工具深入挖掘它们所携带的具体参数配置等细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值