关于 Mac 系统 .DS_store 文件的起源

原文Arno - 2006.10.01

(前排提醒:可以在 .gitignore 中添加 .DS_Store,否则 git 仓库会存储这个和项目无关的文件。)

如果你是 Mac 用户,曾经将文件从 Mac 传输到 Windows,那么可能对 .DS_Store 文件并不陌生。但这个名字是怎么来的呢?

1999 年,我是苹果公司 Mac OS X Finder 的技术负责人。当时,Finder 的代码库已有 8 年历史,已经到了其使用寿命的尽头。对其进行任何更改都需要巨大的工程努力,而且任何更改通常会破坏两三个看似无关的功能。为了 Mac OS X,我们决定从头开始重写 Finder。

工作的一部分涉及分离其用户界面和核心功能(后端)。Finder 的后端负责枚举文件、监视文件系统中的更改、处理元数据,包括图标位置和文件夹设置。在内部,这两个组件被称为 Finder_FE 和 Finder_BE(前端和后端)。

然而,我们很快意识到 Finder 后端在 Finder 之外也会很有用。因此,我们制定了一项计划,希望有一天能将其作为公共 API 提供。由于我之前负责过 Icon Services 和 Navigation Services 的命名,我们决定使用 Desktop Services(当时,我们还考虑将 Finder 重命名为 "Desktop")。因此,.DS_Store 的名称来源于"Desktop Services Store"。我们在它前面加了一个".",以便在 Unix 操作系统(包括 Mac OS)中将其视为不可见文件。

我个人认为这不是一个好名字,我希望我们能用一个更有描述性的名字,但现在说这个已经太迟了 😃

还有一个不幸的 bug 至今仍未修复,它导致创建了过多的 .DS_Store 文件。只有当用户实际调整视图设置或手动设置文件夹中图标的位置时,才应该创建这些文件。不幸的是,事实并非如此,访问文件夹几乎可以肯定 .DS_Store 文件会被创建。

顺便提一下,Finder_BE 也就是 Desktop Services,确实不仅仅被 Finder 使用:Navigation Services(打开/保存对话框)现在也在使用它,尽管在 Mac OS 的最初版本中并没有使用。不过,Desktop Services API 仍未完全发布。

相关推荐
水银嘻嘻6 小时前
【Mac】Python相关知识经验
开发语言·python·macos
梦魇梦狸º1 天前
mac 配置 python 环境变量
chrome·python·macos
丁总学Java1 天前
macOS如何进入 Application Support 目录(cd: string not in pwd: Application)
macos
qdprobot1 天前
Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决
windows·macos
麦克Mapp1 天前
不用安装双系统,如何在mac上玩windows游戏呢?
macos
符小易1 天前
Mac苹果电脑 怎么用word文档和Excel表格?
macos·word·excel
梦魇梦狸º1 天前
node安装与管理
macos·node.js
缘友一世2 天前
macOS查看当前项目的 tree 结构
macos
梦魇梦狸º2 天前
mac 安装 python2
python·macos
篮l球场2 天前
mac m1下载maven安装并配置环境变量
macos