16

我是mac osx的新手。令我困惑的一件事是文件夹存储什么/Library/System/Library顾名思义,我认为应该是类似/lib/usr/lib在Linux中的东西。但是,事实并非如此。在其中,它看起来更类似于应用程序包。并且所有命名都是非常特定于应用程序的,例如/Library/iChat. 如果它们是特定于应用程序的,那么为什么要调用它们Library?通常命名为 时Library,是出于代码或资源共享的目的。

4

1 回答 1

33

库文件夹存储设置、资源和支持文件。最多有 6 个“级别”:

  • 用户库 ~/Library 存储每个用户的设置等。
  • 本地库 /Library 存储计算机范围的设置等。顺便说一句,我将其称为“本地”库,因为在 NextStep 中它是 /Local/Library,但您会看到它的各种其他名称,例如根库,计算机库,...
  • 网络库 /Network/Library 将存储网络域中所有计算机共享的设置——如果网络域管理员设置了一个,那么没有人再做
  • 系统库 /System/Library 存储 OS X 附带的基本设置、资源等。理论上,您不应该在此处更改任何内容。

沙盒应用无权访问用户的大部分主文件夹。它们主要局限于自己的沙盒“容器”(它本身就在用户库中),因此他们得到了自己的“私有”库:

  • 每个应用程序的沙箱库,~/Library/Containers/<application-ID>/Data/Library,它通常包含一些真实的文件夹,如 Preferences 和 Saved Application State,以及指向常规用户库版本的符号链接其他文件夹(例如字体)。
  • 应用程序组沙箱库,~/Library/Group Containers/<application-group-ID>/Library,用于存储相关应用程序组(来自同一开发人员)之间的共享首选项、应用程序支持文件、缓存等。

现在,关于各种库文件夹中的文件:它们中的大多数是按类型组织的(例如,有一个 Preferences 文件夹、一个 Caches 文件夹、一个 Application Support 文件夹等),每个应用程序(或系统组件或其他任何东西)都有文件/子文件夹)。某些资源类型可用于许多或所有程序(例如字体、钥匙串、服务),因此那里只有一堆文件。然而,一些程序(主要是 Apple 编写的程序)是,嗯,自负到认为他们需要在库中自己的顶级文件夹,所以他们继续创建一个并在其中存储东西。

至于“图书馆”这个名字,我不会过多解读。它基本上是一个存储程序需要获取的东西的地方,但用户(通常)不需要明确知道。基本上,用户永远不需要双击或使用打开/保存对话框来访问的东西。运行 Mail.app 时,不需要告诉它使用 ~/Library/Preferences/com.apple.mail.plist 中的设置,或 ~/Library/Mail 中缓存的邮箱内容,或状态信息在 ~/Library/Saved Application State/com.apple.mail.savedState。

于 2013-01-12T04:08:11.787 回答