打開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.用一種相似的方法來更新文檔文件。所以,不管什麼時候替身都能保持有效。