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

news2024/9/26 5:23:32

在这里插入图片描述

原文: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 仍未完全发布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跟极光同频共振?!VELO Angel Ride坐垫,在挪威一起踏上的绿色征途!

如果可以选择,你喜欢徒步旅行还是骑脚踏车呢?      在挪威那片被午夜阳光亲吻的土地上,每一次骑行都是一场与自然对话的盛宴。维乐Angel Ride坐垫,作为环保与骑行舒适度的完美结合,携手每一位探索者,在这片北欧仙…

如何把excel翻译成中文?简单又实用的excel翻译器分享

自打步入职场之后,我才逐渐发现原来处理多语言的Excel文档现已经成为了职场人经常需要面对的挑战~传统的手动翻译不仅耗时费力,还容易出错,尤其是在面对大量数据和复杂的公式时,更是令人头疼。 幸运的是,后来被我发现…

生成图质量评价

1. RichHF-18K 论文地址 解决问题: 如何对生成图质量进行算法评价,以优化图片质量,提升模型生成能力 解决思路: 参考多模态模型,构建评价模型,从7个维度分三个分支对生成图进行测评: Tips&…

【鸿蒙学习笔记】交互事件

官方文档:交互事件 目录标题 分类交互事件-触屏交互事件-手势事件单一手势 分类 交互事件-触屏 在组件上按下(Down) , 滑动(Move) , 抬起(up)时触发的回调事件。包括点击事件、触摸事件和拖拽事件 交互事件-手势事件 在手机上点击打开应用 , 长按后拖动应用 , 这…

idea中的块映射中的子元素无效

在yml文件中,出现块映射中的子元素无效,如图: 在YAML文件中,通常需要在键和值之间添加空格,以确保文件的可读性和正确解析。一些YAML解析器可能要求在冒号后面必须有空格才能正确解析文件。如果不加空格,解…

eventFilter事件过滤器

通过使用eventFilter 事件过滤器&#xff0c;实现QLabel的 Enter、Leave 、MouseButtonPress、MouseButtonDblClick、MouseButtonRelease EventFilterExample.h #ifndef EVENTFILTEREXAMPLE_H #define EVENTFILTEREXAMPLE_H#include <QWidget>namespace Ui { class Event…

C++内存的一些知识点

一、内存分区 在C中&#xff0c;内存主要分为以下几个区域&#xff1a; 代码区&#xff1a;存放函数体的二进制代码。 全局/静态存储区&#xff1a;存放全局变量和静态变量&#xff0c;这些变量在程序的整个运行期间都存在。常量存储区&#xff1a;存放常量&#xff0c;这些值…

聚观早报 | 2025款比亚迪海豚上市;小米15系列防水细节

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 7月9日消息 2025款比亚迪海豚上市 小米15系列防水细节 荣耀Magic V3将更轻薄 真我GT6通信细节 Apple Watch SE将…

修改服务器挂载目录

由于我们的项目通常需要挂载一个大容量的数据盘来存储文件数据&#xff0c;所以我们每台服务器都需要一个默认的挂载目录来存放这些数据&#xff0c;但是由于我们的误操作&#xff0c;导致挂载目录名字建错了&#xff0c;这时候后端就读不到挂载目录了&#xff0c;那我们我们的…

layui项目中的layui.define、layui.config以及layui.use的使用

第一步:创建一个layuiTest项目&#xff0c;结构如下 第二步&#xff1a;新建一个test.js,利用layui.define定义一个模块test,并向外暴露该模块&#xff0c;该模块里面有两个方法method1和method2. 第三步&#xff1a;新建一个test.html&#xff0c;在该页面引入layui.js&#x…

能见度监测系统—高精度的能见度测量

TH-NJD10能见度监测系统是一种用于实时监测和测量大气中能见度情况的系统&#xff0c;广泛应用于交通运输、气象观测、环境监测等领域。能见度监测系统通过安装在特定位置的监测器和传感器&#xff0c;实时采集大气中的光散射、光衰减等参数&#xff0c;经过计算处理后得出能见…

六西格玛培训:打破瓶颈,提升效率——张驰咨询

在当今这个竞争激烈的商业环境中&#xff0c;企业要想在市场中脱颖而出&#xff0c;就必须不断提高产品和服务的质量&#xff0c;同时优化流程以降低成本。六西格玛&#xff0c;作为一种旨在减少变异、提高过程能力的管理策略&#xff0c;正逐渐成为企业提升竞争力的关键工具。…

LeetCode 算法:腐烂的橘子 c++

原题链接&#x1f517;&#xff1a;腐烂的橘子 难度&#xff1a;中等⭐️⭐️ 题目 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#…

【源码+文档+调试讲解】文物管理系统

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

浅谈重要组件Beanshell

浅谈重要组件Beanshell BeanShell是JMeter中一个非常实用的组件&#xff0c;它允许用户通过Java-like的脚本语言执行自定义逻辑&#xff0c;从而极大地扩展了JMeter的功能。本文将详细介绍BeanShell的使用方法、常见用途、以及其在JMeter中的具体应用场景。 BeanShell概述 Bea…

使用vllm部署大语言模型

vLLM是一个快速且易于使用的库&#xff0c;用于LLM&#xff08;大型语言模型&#xff09;推理和服务。通过PagedAttention技术&#xff0c;vLLM可以有效地管理注意力键和值内存&#xff0c;降低内存占用和提高计算效率。vLLM能够将多个传入的请求进行连续批处理&#xff0c;从而…

Java语言程序设计——篇二(2)

Java语言基础 运算符与表达式运算符1、算术运算符2、关系运算符3、逻辑运算符&#xff08; &&、||、 !、&、| 、^&#xff09;4、位运算符&#xff08; >>、<<、>>>、&、|、^、~&#xff09;5、赋值运算符6、条件运算符7、字符串运算符8、…

基于Tkinter GUI库的ARP欺骗攻击工具

基于Tkinter GUI库的ARP欺骗攻击工具 程序提供了一个简单易用的GUI界面,让用户可以方便地进行ARP欺骗攻击。但ARP欺骗是一种黑客攻击手段,可能会造成严重的网络安全问题,请谨慎使用,仅限于合法的网络安全测试和研究目的。 这个ARP欺骗工具需要用户输入目标主机的IP和MAC地址,…

去中心化时代的到来:区块链如何重新定义权力和控制

随着区块链技术的迅猛发展&#xff0c;我们正逐步进入一个去中心化的新时代。区块链不仅仅是一种技术&#xff0c;更是一种理念&#xff0c;它通过去除中心化的权威和控制节点&#xff0c;重新定义了数据管理、交易验证和权力分配的方式。本文将深入探讨区块链如何在去中心化时…

【软件测试】 1+X初级 功能测试试题

登录模块需求说明书 人力资源管理系统 Web 端分为系统管理员、人资管理员、普通职员三个角色。系统登录模块 需求包括用户&#xff08;UI&#xff09;页面、业务规则两部分。 UI 页面 登录页 业务规则 【登录】 人资管理员、普通职员需要通过登录页面进入系统&#xff08;We…