关于 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 仍未完全发布。

相关推荐
txinyu的博客2 小时前
MAC 地址
服务器·网络·macos
小胖红3 小时前
Xcode 打包失败 处理
ide·macos·xcode
June bug5 小时前
【实习笔记】客户端基础技术
笔记·macos·cocoa
HiTomcat7 小时前
一键自动化部署 macOS 开发环境
运维·macos·自动化
jonyleek10 小时前
开源APS排产系统,出货计划如何成为企业降本增效的关键?
算法·开源·私有化部署·软件开发·生产排产·aps排产系统
海棠AI实验室11 小时前
第 4 篇:为什么选择 Cloudflare Tunnel——在“无公网 IP + 零端口暴露”前提下,把家里 Mac 变成可交付的线上服务
tcp/ip·macos·智能路由器
TESmart碲视12 小时前
Mac多显示器支持:TESmart USB-C KVM(搭载DisplayLink技术)全面解析
macos·计算机外设·音视频·外设·kvm切换器·tesmart
开开心心_Every1 天前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
蜜汁小强1 天前
macOS 上卸载并重新安装HomeBrew
macos
新手村领路人1 天前
macOS 原生自带的缩放功能设置
macos