打开Macintosh HD你会发现内中有四个文件夹(通常状况下,隐藏文件夹是不可见的,并且,可能会更多,好比安装xcode后会有developer文件夹).
分别有——应用程序(Applications)、系统(System)、用户(User)、资料库(Library)。四个文件夹中又分别各有若干数量的文件夹存在。web
Applications:这个固然就是存放各类软件的位置了。数据库
System:包含由Apple安装的系统软件。这此资源是系统正常运行所必须的,位于启动卷宗中,在该区域中,用户不容许添加、删除或更改这些资源。
/System/Library/CFMSupport CFM, Code Fragment Manager, 等同旧Mac OS应用程序都会使用的共有程式库. 以确保Mac OS环境的一致性. 当中储存有一个在OS X中极为重要的档桉—CarbonLib, 是执行炭火软件时必不可欠的档桉. 此外还有DiscRecordingLib(CD/R-RW用的程式库), OpenGLLib(OpenGL), stbCLib(C语言), TWAINSourceManager.Shlb(TWAIN对应), vecLib(AltiVec)等程序库, 都是储存于此.
/System/Library/DTDs 做为存放系统所使用的各类XML档桉, 并为其格式定义之档桉. Mac OS X Data形式製成的文书, 分别由三个档桉管理, 分别是PropertyList.dtd, KeyboardLayout.dtd及sdef.dtd三个档桉所组成. 而DTD, 全名为Document Type Definition. 此外, .plist档桉亦是由XML撰写出来的.
/System/Library/Extensions 其实这裡就是用做存放硬件驱动的地方, 苹果不称驱动程序为driver, 而是称为Extension.
/System/Library/Filesystems 主要就是用以存放OS X对应及支持何种档桉格式的资料. 例同标准的AppleShare(苹果档桉分享标准), ISO 9660/FTP/HFS及至网络上用的如Samba等
/System/Library/HelpViewer 一切和Mac OS Help有关的档桉及文件都存放于此
/System/Library/Find 就是搜寻机能了. 是对应多国语言的.
/System/Library/OpenSSL 全名为Secure Sockets Layer. 是一套通信加密技术, 通常用于Web服务器上, 会将密码传送时以加密的暗号处理, 从而减低第三方成功盗 取资料的可能. 通常应用于以https开首的URL上. Mac OS X内置的Web Server—Apache, 亦包含这个服务.
/System/Library/CoreServices/Dock这是OS X的特徵之一, 这部份是有关Dock的资料
/System/Library/CoreServices/Finder.app这个比较特别, 由于这是一个应用而非一个档桉夹, Finder.app可说是负责掌控整个OS上的一切资源.
/System/Library/CoreServices/Kerberos由MIT(麻省理工大学)开发的网络认证技术. 可以很简单地以单一ID登入系统的检证技术. Mac OS X支援其版本4的Kerberos. 所谓Kerberos, 在希腊神话中是一头住在冥界, 拥三头, 蛇尾的地狱守门犬
/System/Library/CoreServices/Menu ExtrasStatus bar上面全部系统自带工具的原文件,双击打开能够直接在status bar上添加相应文件
/System/Library/CoreServices/Setup Assistant全部有关设定助理的资料都存放于此.
/System/Library/CoreServices/Software Update这裡就是负责Software update的地方xcode
Library:系统资源,好比字体、ColorSync 配置、偏好设置以及插件都应该安装在 Library 目录下适当的子目录中。
Application Support包含了应用相关的数据以及支持文件,好比第三方的插件,帮助应用,模板以及应用使用到可是并不须要用来支持运行的额外资源文件。按照惯例,全部这些内容都会被存储在以应用名称命名的子目录当中。
Assistants包含了帮助用户进行配置或者其它任务的程序。
Audio包含了音频插件以及设备驱动。
Caches包含了能够根据须要从新生成的缓存数据。应用永远都不能依赖于缓存文件的存在。缓存文件应该存储在目录名称域应用包的标识相匹配的目录当中。缓存文件还能够进而根据须要划分为用户或者会话专用的子目录。(参考Mac OS X 文档中的多用户环境 )
ColorPickers包含了用来选择色彩的资源,它们根据某种模型,好比 HLS (色彩角、饱和度、亮度) 选择器或者 RGB 选择器。
ColorSync包含了 ColorSync 配置和脚本。
Components包含了系统包和扩展。
Contextual Menu Items包含了用于扩展系统级菜单的插件。
Dictionaries包含了系统自带的字典文件。
Desktop Pictures桌面图片目录。
Documentation包含了供计算机用户和管理员参考的文档文件和 Apple 帮助包。(Apple 帮助包在Help 子目录当中。) 在本地域中,这个目录包含了 Apple 公司发布的帮助包(不包括开发者文档)。
Extensions包含了设备驱动和其它内核扩展。(只存在于系统域当中。)
Favorites包含了指向常常访问的文件夹、文件或者网站的别名。(仅仅存在于用户域当中。)
Fonts包含了用于显示和打印的字体文件。
Frameworks包含了框架和共享库。系统域中的 Frameworks 目录仅仅用于 Apple 公司提供的框架。开发者须要把他们本身定制的框架安装在本地域或者用户域中。
Image Capture储存有多个DC厂商的标准驱动程序, 当中还细分有两个档桉夹, 其中Devices中, 苹果将各款不一样DC细分红8个种类不一样的驱动. 此外, 这裡还存放了各类和相机, Scanner有关的驱动, 例同PTP(Picture Transfer Protocol), TWAIN等.
Input Methods包含了安装的输入法
Internet Plug-ins包含了 web 浏览器内容所须要的插件、库和过滤器。
iTunes第三方的iTunes的插件及库
Java包含了Java运行环境。
Keyboard Layouts包含了键盘定义。
Keychains包含了钥匙串文件。
Logs包含了控制台和系统服务的日志文件。用户也能够利用控制台应用浏览这些日志。
Mail包含了信箱文件
Modem Scripts调制解调器脚本,也就是猫的驱动了。
Perl Perl程序的功能扩展及库,好比Cocoa Conler就须要这个功能。
PreferencePanes包含了系统参数应用的插件。能够找到系统偏好设置里的对应项。
Preferences包含了用户参数设置。有关用户参数的信息请参考运行时刻配置指南 。
Printers在系统和本地域中,该目录包含了打印机驱动,PPD 插件和用来配置打印机的库。在用户域当中,该目录包含了用户可用的打印机配置。
QuickLook包含了快速查看插件。
QuickTime包含了 QuickTime 组件和扩展。
Receipts安装过的.pkg安装包的替身,但不是.pkg安装包自己。例如系统升级或安装时的.pkg。或vpc安装时的.pkg包。
Screen Savers包含了屏幕保护程序。
Scripting Additions包含了对 AppleScript 的功能进行扩展的脚本和脚本资源。
Services(只存在与我的文件夹中)包含了服务的脚本文件
Scripts包含了各类程序所须要的脚本文件
Sounds(只存在于我的文件夹中)包含了系统告警声音。
Speech包含了语音的相关资源文件。
Spelling包含了拼写的配置文件。
StartupItems包含了在系统导入时刻运行的系统以及第三方脚本和程序。 (更多有关系统导入时刻启动步骤的信息请参考系统启动程序主题 )
User Pictures用户帐号中,用户显示的图片的文件。
Updates包含了系统自动更新的安装文件。默认会自动删除里边的文件。
Web Server包含了 web 服务器内容。本目录包含了 web 服务器使用的 CGI 脚本和网页
Widgets包含了已安装的Widget小工具浏览器
User:包含了某个用户专有的资源。这里也有一个Library文件夹,不一样与上边的那个Library,是专为你的账号服务,里面放的是你本身的个性化字体、配置文件等
Applications包含仅仅当前用户可用的应用。
Desktop 包含了 Finder 在当前登陆用户桌面上显示的桌面项。
Documents 包含了用户的我的文档。
Download 包含了下载的各类文档。
Library 包含了应用设置、偏好设置一块儿其余用户专有的系统资源
Application Support包含了应用相关的数据以及支持文件,好比第三方的插件,帮助应用,模板以及应用使用到可是并不须要用来支持运行的额外资源文件。按照惯例,全部这些内容都会被存储在以应用名称命名的子目录当中。
Assistants包含了帮助用户进行配置或者其它任务的程序。
Audio包含了音频插件以及设备驱动。
Caches包含了能够根据须要从新生成的缓存数据。应用永远都不能依赖于缓存文件的存在。缓存文件应该存储在目录名称域应用包的标识相匹配的目录当中。缓存文件还能够进而根据须要划分为用户或者会话专用的子目录。(参考Mac OS X 文档中的多用户环境 )
ColorPickers包含了用来选择色彩的资源,它们根据某种模型,好比 HLS (色彩角、饱和度、亮度) 选择器或者 RGB 选择器。
ColorSync包含了 ColorSync 配置和脚本。
Components包含了系统包和扩展。
Contextual Menu Items包含了用于扩展系统级菜单的插件。
Dictionaries包含了系统自带的字典文件。
Desktop Pictures桌面图片目录。
Documentation包含了供计算机用户和管理员参考的文档文件和 Apple 帮助包。(Apple 帮助包在Help 子目录当中。) 在本地域中,这个目录包含了 Apple 公司发布的帮助包(不包括开发者文档)。
Extensions包含了设备驱动和其它内核扩展。(只存在于系统域当中。)
Favorites包含了指向常常访问的文件夹、文件或者网站的别名。(仅仅存在于用户域当中。)
Fonts包含了用于显示和打印的字体文件。
Frameworks包含了框架和共享库。系统域中的 Frameworks 目录仅仅用于 Apple 公司提供的框架。开发者须要把他们本身定制的框架安装在本地域或者用户域中。
Image Capture储存有多个DC厂商的标准驱动程序, 当中还细分有两个档桉夹, 其中Devices中, 苹果将各款不一样DC细分红8个种类不一样的驱动. 此外, 这裡还存放了各类和相机, Scanner有关的驱动, 例同PTP(Picture Transfer Protocol), TWAIN等.
Input Methods包含了安装的输入法
Movies 包含了 QuickTime 以及其它格式的数字影片。
Music 包含数字音乐文件 (.aiff、.mp三、.m4p 及其它格式)。
Pictures 包含各类格式的图像文件。
Public 包含了用户须要和其余用户共享的内容。缺省状况下,其余用户能够访问这个目录。
Sites 包含了用户我的网站的网页。若是须要其余用户可以访问这些网页,须要使能 Web 共享。缓存
~~~硬盘中还有几个隐藏文件夹~~~
1) bin———储存有基本的UNIX指令
2) sbin——–UNIX 系统指令的储存地方, 是比较进阶的指令
3) etc———系统设定档桉储存地方
4) var———改动频繁的档桉, 都置放于此, 例如各log档桉
5) tmp——–系统的暂存档
6) usr———UNIX的使用者专用档桉夹服务器
MAc OS X系统深刻了解--系统文件结构篇网络
OS X采用的是类UNIX的多用户系统。
一般咱们在启动盘下面都只能看到应用程序、资源库、系统、用户这4个目录。但其实还有不少的隐藏目录,如bin、sbin之类的,这些都是系统的一些资源,通常是不用普通用户去访问,是些比较重要的系统文件及配置文件。
因此我这里就只是探讨一下一般在Finder中能够触及的文件项目和资源。app
首先咱们来了解一下OS X系统的几大组成部分:
文件系统区域:
做为了一个多用户的操做系统,控制系统资源的访问对于保证系统的稳定性是很是重要的。经过目录的设置,由当前用户的操做权限来决定该用户对每部分资源的访问。
在OS X系统中,存在如下4个文件系统区域:
User:这个区域包含了登陆到系统的用户可供使用的特定资源。该区域由用户的主目录来定义,在这个区域中,用户具备彻底的控制权限。
Local: Local区域包括如文件、程序这些被系统中全部用户共享的资源,但它不是系统运行所必须的。Local区域没有一个相应的单独的目录,它包含于启动卷宗的多个目录中。具备系统管理员权限的用户能够添加、删除或修改此区载的项目。
Network:此区域包含了本地局域网中可被全部用户共享的资源,如文件或应用程序。该区域的表明项目在网络文件服务中的位置,并受网络管理员的控制。
System:包含由Apple安装的系统软件。这此资源是系统正常运行所必须的,位于启动卷宗中,在该区域中,用户不容许添加、删除或更改这些资源。框架
用户区域包含指定给一个单独的用户的资源。由当前用户的我的目录来表示。每一个Mac OS X系统用户必须有一个帐号,在文件系统中给每一个用户帐号指定一个目录空间。目录中包括了用户的应用程序、资源以及文档。用户我的目录以用户帐号的短名称来命名,而且是惟一的。
用户区域可让用户为本身定义一个合理的工做环境,当用户登陆时,Finder将恢复用户的工做环境,并按预置设置为用户上次使用时的状态。一样的,应用程序及其它系统软件按程序预置、网络设置、email设置、字体设置及其它设置来进行恢复。
用户的我的目录的位置依赖于用户的帐号。若是用户帐号是本地帐号,那么用户的我的目录则位于启动卷宗的”User”目录中,若是是一个网络帐号,则我的目录位于网络服务器中。
不管用户的我的目录实际位置在哪里(实际上,咱们仍是能够经过终端命令更改我的目录的实际位置的),OS X都使用”~”字符来表明当前登陆用户的我的目录。这个符号能够与其它路径来组合使用。工具
表一:
~ 当前用户目录的顶级目录,至关于”/User/当前用户名”这个目录
~/Library/Fonts 当前用户我的目录中的字体储存位置
~Steve 用户Steve的我的目录。
说明:这里咱们须要注意的是,终端或系统中,咱们其实均可以多重登陆的,所以,在使用”~”的时候,链接的是“当前登陆用户“的我的目录。因此,当你登陆为不一样的用户时,”~”所指的位置并不至关。
表二:
这里咱们列出的是我的目录下一些常见的目录:
Applications 包含一些只有当前用户可使用的程序,好比咱们安装了一个程序,安装时选Applications,应用程序将会默认安装到这里!
Desktop:包含当前用户显示在Finder桌面上的全部项目。
Documents:用户我的的一些文档。常常会包含一些程序使用的文件或者下载的文件,以及程序安装的纪录文件。
Library:包括应用程序设置、预置及其它用户指定的系统资源或设置(具体内容将在下一章中进行说明)。
Movies:QuickTime或其它格式的影片
Music:数字音乐文件(如.aiff, .mp3, .m4p或其它格式),包括iTunes自动倒入的歌曲。
Pictures:图片文件,包括iPhoto自动导入的数码相机中的图片
Public:你能够把须要与其它用户共享的文件放在这个目录中,默认状态下,这个目录能够被其它全部用户访问。
Sites:用户的我的站点网页文件。在被其它用户访问以前,你必须在“系统预置-共享-Web共享“中打开共享。
当新建帐号时,”Applications”目录并不会自动添加到该用户的我的目录中。用户能够自已手工建议一个”Applications”,并把本身的程序放在该目录中,系统会自动搜索该目录中的项目。
在’/User’目录中包含一个叫”Shared”的子目录,这个目录能够被本地的全部用户访问(不过请不要把应用程序放置在该目录中),全部用户均可以从该目录中读取或写入文件,用于本地用户的文件交换及共享。
本地区域包括本地计算机所使用的资源,但它不是系统运行所必须的。比较典型的包括:应用程序、实用工具、自定义字体、自定义的启动项目以及应用程序全局设置。在”Applications” 以及 “Library”目录中也包含了部分资源,这些资源仅代本地用户使用,而网络用户则没法访问。
若是但愿本地全部用户共享资源,那么系统管理员能够安装资源到本地区域,苹果公司开发的应用程序都安装在”/Applications” 及 “/Applications/Utilities “目录中,第三方的程序及工具也能够安装在这些目录中。其它的系统资源,如字体、预置以及插件放置在”/Library”相应的子目录中。
网络部分
网络区域包括本地局域网中的的资源。网络用户能够访问程序、文档以及其它资源,包括AplleShare及 Web共享。
表三:
/Network/Applications 包括能够被本地局域网中其它用户运行的一些应用程序。
/Network/Library 包含如:插件,音频文件, 文档, 框架, 色彩,及字体这些供本地局域网用户使用的资源.
/Network/Servers 包含本地局域网中提供的NFS文件服务的链接
/Network/Users/ 包括全部本地网用户的我的目录。这是我的目录默认的位置。我的目录也能够存储在其它服务器中。
系统区域
系统区域包括了Mac OS X运行所必须的资源,它所有位置于启动盘的”/System”目录中。这些资源由苹果公司提供并只有’root’用户能够修改其内容。管理员用户以及程序将不会安装任何资源在这个目录或直接修改其内容。
默认时,”/System”仅包括一个”Library”子目录,这个子目录包含了许多与其它Library目录相同类型的资源。
请不要手工添加、删除或者修改此目录的资源,不然有可能致使系统没法正常启动。
Library目录
Library目录被用来存储程序及系统特殊资源的一个特殊目录。每一个文件系统都有它本身的Library目录。一般,程序能够用它来存储内部数据或临时文件,但不会存储程序自己或用户的数据文件。
它包括不少标准的子目录,系统一般会认为已经存在这些标准的。因此请不要删除Library中的子目录。固然,程序也能够建立新的子目录来储存程序的特殊数据。
Library能够位于启动盘根目录及用户的我的目录中。虽然位置不一样,内容及做用大致相同。
惟一的区别就在于:根目录下的Library是本机全部用户的共同设置,而我的目录中的Library则只是该用户的设置。
下面咱们将列出在Library常见的一些子目录,你能够经过这个说明来了解这些目录到底有何用途。从而来决定你要做什么。
Library目录中的子目录:
Application Support :包括程序的特殊数据以及支持文件,如第三方插件,帮助程序、模板以及被程序使用但不容许操做的附加资源。一般全部的项目都放置在以程序命名的目录中。例如Adobe公司的程序,都将放在名叫“Adobe“的子目录中,而苹果公司的程序支持则放置在“Apple“这个子目录中。
Assistants:包括程序用来帮助用户设置或完成其它任务的资源。
Audio:包括音频插件及设备驱动。
Caches:再生所必须的缓存数据。
ColorPickers:采集色彩时所依赖的模式的资源。例如HLS或RGB。
ColorSync:色彩管理预置及脚本。
Components:系统组织和功能扩展。
Contextual Menu Items:附加的系统级关联菜单插件,如阿拉丁的解压缩关联菜单、iGetter的关联菜单。
Desktop Pictures:桌面图片目录。
Documentation:文档及用户和管理员使用的苹果帮助文件包(也有的在”Help子目录中”)。
Extensions:包括设备驱动及其它核心功能。相似于OS 9下的”功能扩展”目录。
Favorites:包括常常访问的目录、文件或网站的替身,仅存在于我的目录的库目录中。
Fonts:显示和打印用的字体文件
Frameworks:框架和共享的资源库,开发者可能会安装本身的框架或资源在该目录中。
Image Capture:一般是扫描仪的驱动。
InputManagers:输入法管理,
Internet Plug-ins:网络浏览器使用的插件、库及过滤器。如Flash插件、Realplayer插件。
iTunes:第三方的iTunes的插件及库,
Java:若是你安装了Java,那么就会有这个目录,包括了Java的一些功能扩展及其它资源。
Keyboard Layouts:键盘布局
Keychains:系统中各个钥匙串的内容。
Logs:控制台及系统服务的记录文件,你能够经过:应用程序-实用程序-控制台来查看。
Modem Scripts:调制解调器脚本,也就是猫的驱动了。
Mail:用户的电子邮件内容,这只存在于每一个用户的我的目录的库目录中。
Perl:Perl程序的功能扩展及库,好比Cocoa Conler就须要这个功能。
Plug-ins:系统插件,好比磁盘工具的磁盘映像。
PreferencePanes:系统预置插件,通常显示在系统预置的最下方。如安装阿拉丁解压缩软件时生成的StuffIt AVR.prefPane
Preferences:预置目录,包括系统、应用程序及用户的各类设置。一般若是预置文件损坏,会致使程序或系统的操做失常,这个时候能够经过删除相应的预置来尝试解决问题。
Printers:打印机驱动。PPD插件,以及配置打印机所须要的库文件。
QuickTime:QuickTime的插件及功能扩展。
Receipts:安装过的.pkg安装包的替身,但不是.pkg安装包自己。例如系统升级或安装时的.pkg。或vpc安装时的.pkg包。
Screen Savers:屏幕保护文件。
Scripting:AppleScript附加的脚本及脚本资源。
Sherlock Plug-ins:Sherlock兼容的插件及功能扩展。
Sounds:系统警告提示音
StartupItems:系统运行时自动启动的系统及第三方脚本或程序。通常经过系统预置-帐号来进行设定。
User Pictures:用户帐号中,用户显示的图片的文件。
WebServer:Web服务内容。也就是我的Web共享的内容。包括CGI脚本及网页文件。网页文件放置在Documents子目录中。
文件系统
从体系结构上看,Mac OS X实现了对多文件系统的支持,其中最为重要的文件系统包括有:Mac OS Extended (HFS+),Mac OS Standard (HFS),UFS, ISO 9660, NFS和 AFP。但从用户的角度看,文件系统又是单一的。当用户复制,移动或拖移文件和文件夹时,(会感受彷佛)只存在一个文件系统。
文件系统如何被组织
Mac OS X文件系统中的几乎每一个文件都有其适合放置的存储这一类型文件的标准目录区域。而对用户来讲,这并不意味着他们就必须把应用程序和应用程序资源放在被推荐的区域。因为应用程序最终会被打包,所以不管他们被安装在哪里,都能知足自身要求。但假如用户没有把某些内容放在系统软件指望的位置。他们有可能会丧失Mac OS X的一些优点。例如,Finder首先经过搜索应用程序的标准位置来导入应用程序数据库(见“收集应用程序信息”一节)。一旦这样作,结果有可能会形成一个隶属于某个应用程序(但不在那一区域)的文档,不能在双击时被当即打开。
文件系统的层次一般被表现为一个以“根(root)”开始的分层结构,在典型的Mac OS X文件系统的根目录中(“根”用起始的“/”符号来表示),它包含如下项目:
/Mac OS X/–一个特殊的卷,操做系统由它开始启动,系统文件和资源也被安装在其上。这个卷一般是一个被格式为Mac OS扩展格式(HFS+,Mac OS Extended)的卷(虽然它也能够是UFS卷)。名称“Mac OS X”是它默认的卷名,但用户也能够修改它。
/Network/–做为装载到用户系统上的本地网络的根目录。不管用户是否链接到网络上,/Network/目录(其图标是一个“地球”)将始终出现。
/OtherVolumes/–显示一个或多个被链接的外部设备或不是启动卷的内部设备。其中能够包括有Zip驱动器,CD-ROM驱动器,数码相机,被装载的网络服务器以及硬盘和它们的分区等。(“OtherVolumes”只是一个真实名称的表明,被链接的卷的实际名称将会是不一样的)。
全部非启动卷在它们被装载时出现,被卸载时消失。对此有一个例外,用户的iDisk卷即便在被卸载后也不会消失。
卷的物理结构与Finder向用户所显示的略有不一样。假如用Terminal程序看一下目录结构,您会看到启动卷被装载在根目录层(/),而非启动卷被放在/Volumes/目录中。Finder提供了这种抽象方式,用来在基本的UNIX 系统上提供一个更加传统的Mac OS界面。
像/usr, /bin和/etc等目录都是标准的BSD目录,它们也存在于根目录层,但Finder向用户隐藏了它们。
系统域
系统域包含了要求由Mac OS X来运行的资源。系统域中的全部资源被放置在启动卷上的/System目录下。这些资源由Apple提供,只有root用户能够修改这个目录的内容。管理用户和应用程序不能在系统域中安装资源或是直接修改它的内容。
默认状况下,/System目录仅包含了一个Library子目录。与系统中的其余Library目录同样,这个子目录中包含了许多相同类型的资源。然而在系统域中,这个目录还包含了构成Mac OS X系统的许多核心服务,框架和应用户程序。关于Library目录的更多信息,请参见“Library 目录”一节。
——————————————————————
Library目录
Library是一个特殊的目录,用于存储特定的应用程序和特定的系统资源。每一个文件系统域都有其自身Library目录的副本,这些Library目录具备不一样的访问级别以匹配不一样的域类型。虽然一个应用程序可使用这个目录来存储内部数据或临时文件,但将应用程序的束自身或是用户数据文件存放在Library目录中将是不足取的。应用程序的束应放在一个/Applications目录中,而用户数据应放在用户的home目录中。
Library包含了许多标准的子目录。系统例程要求许多标准子目录必须存在,所以删除Library的子目录决不是一个好主意。然而,当须要存储特定的应用程序数据时,应用程序能够建立一个新的子目录。
Application Support
特定应用程序的第三方插件,帮助程序,模板和其余资源。按规定,这些项目应被放置在以应用程序命名的子目录中。举个列子,应用程序MyApp的第三方资源将被放在Application Support/MyApp/中。注意,一个由应用程序开发者建立的资源应被放置在本身的应用程序包中。更多信息请参见“应用程序包”一章节。
Assistants
帮助用户完成配置和其它任务的程序。
Audio
声音插件和设备驱动。
ColorPickers
根据某一模式取色的资源,例如HLS (Hue Angle, Saturation, Lightness) 取色器或RGB 取色器。
ColorSync
ColorSync描述和脚本
Components
系统中的插件和扩展。
document.tion
文档文件和Apple 的帮助包(在子目录Help中),计算机上的用户和管理员可使用它们。在本地域中,这个目录包含了Apple安装的帮助包(包括开发者文档)。
Extensions
设备驱动和其余内部扩展(仅为系统域)。
Favorites
时常被访问的文件夹,文件或Web站点的替身(仅为用户域)。
Fonts
用于显示和打印的字体文件。
Frameworks
框架和共享库。
Internet
用于Internet的插件,库和过滤器。
Keyboards
键盘定义。
Mail
包含了用户的邮箱(仅为用户域)。
Preferences
用户预置,请参见“系统预置”一章中的“用户配置”一节。
Printers
打印驱动(由厂商提供)和PPD插件。
QuickTime
QuickTime的插件和扩展。
Scripting Additions
扩充了AppleScript功能的脚本及脚本资源。
Sherlock Plug-ins
扩充了Sherlock功能的插件。
Sounds
系统警告声。
StartupItems
在启动时运行的系统及第三方的脚本和程序,更多信息请参见“引导和登入”一章中“启动项目”一节。
Web Server
Web 服务器的内容,这个目录包含了CGI脚本以及所备置的Web页面。
——————————————————————
Developer目录
用于开发Mac OS X软件的应用程序,工具,文档及其余资源是一个可选的软件安装包。当您安装开发工具时,安装程序会把全部软件组件放到位于启动卷(/Mac OS X)的Developer目录中。
Applications
用户管理和创建软件项目(Project Builder),建立用户界面(Interface Builder)和执行调试程序的应用程序。
document.tion
开发者文档
Examples
分类组织的项目实例(Carbon,Java等等)。
Headers
特殊的头文件,诸如:遗留的简单 Carbon头文件。
Java
在Cocoa应用程序环境中用于Java桥接所需的文件。
Makefiles
用于创建和改变项目所需的makefile(.make文件)和jamfile(.jam文件)。
Palettes
Apple 提供的Interface Builder的调色板。
PBBundles
Project Builder使用的可装载的束。
ProjectBuilder Extras
Project Builder的模板和插件。
ProjectTypes
Project Builder使用的项目类型的定义
Tools
命令行开发工具,包括那些建立和生成HFS资源分支的工具。
Project Builder定义了一组makefile变量,当您的项目在文件系统域中指定位置时,应该会使用到它们。您应该使用这些变量而不是将目录路径硬编码,由于这些位置可能会被改变。
——————————————————————
Classic环境的目录
Classic环境包含了几个用于支持Classic应用程序的目录。这些Classic环境下的目录是一个Mac OS 9安装版本中的目录。Mac OS X 须要为Classic环境安装一个 Mac OS 9.1(或更新的版本)。若是一个系统安装了一个比Mac OS 9更早的版本,用户必须安装一个更新的版原本支持Mac OS X。
一个系统可能有多个Mac OS 9版本安装在不一样的分区上。若是是这种状况,系统预置的Classic设置面板将让用户为Classic环境选择使用其中的一个Mac OS 9版本。用户第一次启动Classic时,系统会将一些必要的文件附加到被选取的Mac OS 9卷的系统文件夹内。您也可使用系统预置中的Classic设置面板随时启动或中止Classic运行环境。用户还可使用“启动磁盘(Startup Disk)”系统预置来改变启动磁盘,以从Mac OS X变为直接启动进入Mac OS 9。
当您在一个卷上安装了Mac OS 9.1(或更新的版本)时,安装程序会建立几个目录来存储系统文件。表9-6列出了安装程序建立的目录以及关于其内容的描述。若是您已经安装了一个Mac OS X 和 Mac OS 9.1(或更新)的本版,Mac OS 9 的安装程序可能不会建立全部这些目录。
Applications (Mac OS 9)
包含了Mac OS 9(Classic)的应用程序和实用工具。
document.
包含了特定应用程序的信息。这个目录只能由Classic应用程序使用。Mac OS X应用程序会在适当的/Library目录中存储预置和其余应用程序文件。用户应该把他们的文档存放在他们本身的home目录当中。
System Folder
包含了Classic环境的系统文件。
当您在一个已经装有Mac OS 9的系统上安装Mac OS X时,安装程序会执行一些额外的任务来支持Classic环境。尤为Mac OS X安装程序会建立一个Mac OS 9桌面文件夹的替身,并把它放在能够运行安装程序的管理员用户的桌面上。这个替身包含了在Mac OS X 安装以前Mac OS 9桌面上任何文件的连接。
本地化目录名
若是您的应用程序包安装了任何用户支持的目录,那么您不但能够为应用程序提供本地化名称,并且也能够为这些目录提供本地化名称。本地化您特定的应用程序目录名是没必要要的,并且可能并非全部状况下都是有效的。若是您想本地化您的应用程序支持的目录,您应该仅为那些您应用程序预先知晓其名称的目录进行本地化。不建议本地化“用户特定”的目录名。
要本地化目录名,您必须为目录名加上.localized扩展并将其默认设置为隐藏。而后在您的目录中再建立一个名为.localized的子目录。在这个子目录中,为您想支持的每一个本地化版本建立一个strings文件。strings文件包含了目录名的本地化版本的单一入口。举个例子,一个用English,,Japanese和 German本地化的Release Notes目录将包含如下结构
Release Notes.localized/
.localized/
en.strings
de.strings
ja.strings
在每一个strings文件当中,您要把非本地化目录名转变成本地化目录名。举个例子,要转换目录名“Release Notes”成为一个本地化目录名,每一个strings文件都要包含相似如下的条目。
“Release Notes” = “Localized name”
注意:许多系统定义的目录在他们的名称里并不包含.localized扩展名。由于这些目录在引入本地化文件系统名以前已经存在。对于这些已知的目录,Mac OS X转而在目录中查找名为.localized的空文件。若是此文件存在,那Mac OS X就会显示其本地化目录名文本。
——————————————————————
HFS+ 和 UFS的不一样点
在Mac OS X的两种主要文件系统:HFS+和UFS上,有着许多重要的不一样点。在许多状况下,这些不一样会与在Mac OS X上开发的程序有关联。如下列表总结了在这两个文件系统中的主要不一样点(有些陈述既适用于HFS又适用于HFS+):
大小写敏感:UFS对大小写是敏感的,而HFS+对大小写不敏感,但它能够保留大小写。
多分支:HFS+支持多分支(和附加的元数据)而UFS只支持单一分支(Carbon在不支持多分支的系统“如:UFS”上模似多分支结构)。
路径分隔符:HFS+使用冒号做为路径分隔符,而UFS中使用的则是正斜杠。系统可以在这些分隔符间进行转换。
修改日期:HFS+支持对文件的建立和修改日期的记录,它们将做为文件元数据被保存;而UFS只支持对文件修改日期的记录,不支持对文件建立日期的记录。若是您用一条命令来复制一个文件,这条命令将会处理修改日期,但不会处理建立日期,当它为一个副本建立一个新的文件时,这条命令将会重设其修改日期。因为这一缘由,极可能会使一个文件的建立日期要比其修改日期更晚。
Sparse文件和零填充:UFS支持sparse文件(稀疏文件),它是一种文件系统存储文件数据的方法,其不存储分配给文件的未被使用的空间。HFS+不支持sparse文件,事实上能够用”零”为文件填充全部未使用的字节直到文件结束。
对文件系统项目的轻量级引用:请见“替身和符号链接”一节。
另外,那些已往与每种文件系统相关联的API有时会具备不一样的特性。举个例子,一个使用了BSD (或来源于BSD)API的程序能够删除一个打开着的文件;而另外一方面,一个Carbon程序只能够删除一个已关闭的文件。
—————————————————————— 替身和符号链接 替身和符号链接是对文件夹和目录的轻量级引用。替身与Mac OS标准格式(HFS)和Mac OS 扩展格式(HFS+)相关联,而符号链接是UFS文件系统的一个特征。替身和符号链接都容许对文件夹和目录屡次引用,而不须要为这些项目创建多份副本。Mac OS X 10.2以前,当移动或改变一个被引用的文件或文件夹时,替身和符号链接在处理方式上会有很大不一样。 原先,替身首先用文件夹和目录的惟一标识来定位他们,其次才是用他们的路径。若是您在同一个卷上移动一个文件,任何指向那个文件的替身仍会指向本来那个位置。假如您删除某个文件,并用一个同名的文件代替它,替身仍能够工做,由于他们能够用路径来定位文件。而从Mac OS X 10.2起,替身颠倒了其搜索顺序,先使用路径后使用文件标识。 由于替身和符号链接都使用一个文件系统路径来判定文件位置,所以他们都提供了相似的基本工做方式。若是您用一个同名文件替换某个文件,把旧文件移到新的位置上,替身和符号链接都将指向新的文件。然而,若是您移动某个文件而不是替换它,符号链接会产生文件中断,但替身则不会。 在HFS 和HFS+文件系统中,每一个文件和目录都会具备一个惟一的固定标识。替身存储了这个惟一标识以及文件或目录的路径信息。若是不能经过替身中的路径信息来找到文件,替身则会试图使用其惟一标识来定位文件。若是找到了文件,替身会用新的路径信息更新其内部记录。一样,若是路径正确,而惟一标识有错误,替身也会用新文件惟一标识来更新其内部记录。 现在Finder和其余系统应用程序用先查找路径的方式来使用替身。然而,经过使用Alias Manager(替身管理器)的方法来处置替身时,将仍会使用先根据文件惟一标识来查找的方式。 若是您的应用程序支持Mac OS X 10.2之前的Mac OS X 版本,则当您修改文件时应该遵照某些准则。首先,当须要编辑文件时,可修改已有的文件。其次,若是您明显须要用一个新版原本替换某个文件,可用FSExchangeObjects来将旧的文件替换成新的。NSdocument.用一种相似的方法来更新文档文件。所以,不管什么时候替身都能保持有效。