天天看點

詳解MAC硬碟中各個檔案夾

打開Macintosh HD你會發現内中有四個檔案夾(一般情況下,隐藏檔案夾是不可見的,而且,可能會更多,比如安裝xcode後會有developer檔案夾).

分别有——應用程式(Applications)、系統(System)、使用者(User)、資料庫(Library)。四個檔案夾中又分别各有若幹數量的檔案夾存在。

Applications:這個當然就是存放各種軟體的位置了。

System:包含由Apple安裝的系統軟體。這此資源是系統正常運作所必須的,位于啟動卷宗中,在該區域中,使用者不允許添加、删除或更改這些資源。

        /System/Library/CFMSupportCFM, 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 TypeDefinition. 此外, .plist檔桉亦是由XML撰寫出來的.

        /System/Library/Extensions其實這裡就是用作存放硬體驅動的地方, 蘋果不稱驅動程式為driver,而是稱為Extension.

        /System/Library/Filesystems主要就是用以存放OS X對應及支援何種檔桉格式的資料. 例同标準的AppleShare(蘋果檔桉分享标準), ISO9660/FTP/HFS及至網絡上用的如Samba等

        /System/Library/HelpViewer一切和Mac OS Help有關的檔桉及檔案都存放于此

        /System/Library/Find就是搜尋機能了. 是對應多國語言的.

        /System/Library/OpenSSL全名為Secure Sockets Layer. 是一套通訊加密技術,一般用于Web伺服器上, 會将密碼傳送時以加密的暗号處理,進而減低第三方成功盜 取資料的可能. 一般應用于以https開首的URL上. Mac OS X内置的WebServer---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/MenuExtrasStatus bar上面所有系統自帶工具的原檔案,輕按兩下打開可以直接在status bar上添加相應檔案

        /System/Library/CoreServices/SetupAssistant所有有關設定助理的資料都存放于此.

        /System/Library/CoreServices/SoftwareUpdate這裡就是負責Software update的地方

Library:系統資源,比如字型、ColorSync 配置、偏好設定以及插件都應該安裝在 Library 目錄下适當的子目錄中。

        ApplicationSupport包含了應用相關的資料以及支援檔案,比如第三方的插件,幫助應用,模闆以及應用使用到但是并不需要用來支援運作的額外資源檔案。按照慣例,所有這些内容都會被存儲在以應用名稱命名的子目錄當中。

        Assistants包含了幫助使用者進行配置或者其它任務的程式。

        Audio包含了音頻插件以及裝置驅動。

        Caches包含了可以根據需要重新生成的緩存資料。應用永遠都不能依賴于緩存檔案的存在。緩存檔案應該存儲在目錄名稱域應用包的辨別相比對的目錄當中。緩存檔案還可以進而根據需要劃分為使用者或者會話專用的子目錄。(參考Mac OS X 文檔中的多使用者環境 )

        ColorPickers包含了用來選擇色彩的資源,它們根據某種模型,比如 HLS (色彩角、飽和度、亮度)選擇器或者 RGB 選擇器。

        ColorSync包含了 ColorSync 配置和腳本。

        Components包含了系統包和擴充。

        ContextualMenu Items包含了用于擴充系統級菜單的插件。

        Dictionaries包含了系統自帶的字典檔案。

        DesktopPictures桌面圖檔目錄。

        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包含了安裝的輸入法

        InternetPlug-ins包含了 web 浏覽器内容所需要的插件、庫和過濾器。

        iTunes第三方的iTunes的插件及庫

        Java包含了Java運作環境。

        KeyboardLayouts包含了鍵盤定義。

        Keychains包含了鑰匙串檔案。

        Logs包含了控制台和系統服務的日志檔案。使用者也可以利用控制台應用浏覽這些日志。

        Mail包含了信箱檔案

        Modem Scripts數據機腳本,也就是貓的驅動了。

        Perl Perl程式的功能擴充及庫,比如Cocoa Conler就需要這個功能。

        PreferencePanes包含了系統參數應用的插件。可以找到系統偏好設定裡的對應項。

        Preferences包含了使用者參數設定。有關使用者參數的資訊請參考運作時刻配置指南 。

        Printers在系統和本地域中,該目錄包含了列印機驅動,PPD 插件和用來配置列印機的庫。在使用者域當中,該目錄包含了使用者可用的列印機配置。

        QuickLook包含了快速檢視插件。

        QuickTime包含了 QuickTime 元件和擴充。

        Receipts安裝過的.pkg安裝包的替身,但不是.pkg安裝包本身。例如系統更新或安裝時的.pkg。或vpc安裝時的.pkg包。

        Screen Savers包含了螢幕保護程式。

        ScriptingAdditions包含了對 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、.mp3、.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中可以觸及的檔案項目和資源。

首先我們來了解一下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目錄中的子目錄:

ApplicationSupport :包括程式的特殊資料以及支援檔案,如第三方插件,幫助程式、模闆以及被程式使用但不允許操作的附加資源。通常所有的項目都放置在以程式命名的目錄中。例如Adobe公司的程式,都将放在名叫“Adobe“的子目錄中,而蘋果公司的程式支援則放置在“Apple“這個子目錄中。

Assistants:包括程式用來幫助使用者設定或完成其它任務的資源。

Audio:包括音頻插件及裝置驅動。

Caches:再生所必須的緩存資料。

ColorPickers:采集色彩時所依賴的模式的資源。例如HLS或RGB。

ColorSync:色彩管理預置及腳本。

Components:系統組織和功能擴充。

ContextualMenu Items:附加的系統級關聯菜單插件,如阿拉丁的解壓縮關聯菜單、iGetter的關聯菜單。

DesktopPictures:桌面圖檔目錄。

Documentation:文檔及使用者和管理者使用的蘋果幫助檔案包(也有的在"Help子目錄中")。

Extensions:包括裝置驅動及其它核心功能。類似于OS 9下的"功能擴充"目錄。

Favorites:包括經常通路的目錄、檔案或網站的替身,僅存在于個人目錄的庫目錄中。

Fonts:顯示和列印用的字型檔案

Frameworks:架構和共享的資源庫,開發者可能會安裝自己的架構或資源在該目錄中。

Image Capture:通常是掃描器的驅動。

InputManagers:輸入法管理,

InternetPlug-ins:網絡浏覽器使用的插件、庫及過濾器。如Flash插件、Realplayer插件。

iTunes:第三方的iTunes的插件及庫,

Java:如果你安裝了Java,那麼就會有這個目錄,包括了Java的一些功能擴充及其它資源。

KeyboardLayouts:鍵盤布局

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附加的腳本及腳本資源。

SherlockPlug-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檔案系統中的幾乎每個檔案都有其适合放置的存儲這一類型檔案的标準目錄區域。而對使用者來說,這并不意味着他們就必須把應用程式和應用程式資源放在被推薦的區域。由于應用程式最終會被打包,是以無論他們被安裝在哪裡,都能滿足自身要求。但假如使用者沒有把某些内容放在系統軟體期望的位置。他們有可能會喪失MacOS X的一些優勢。例如,Finder首先通過搜尋應用程式的标準位置來導入應用程式資料庫(見“收集應用程式資訊”一節)。一旦這樣做,結果有可能會造成一個隸屬于某個應用程式(但不在那一區域)的文檔,不能在輕按兩下時被立即打開。

檔案系統的層次通常被表現為一個以“根(root)”開始的分層結構,在典型的MacOS 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 系統上提供一個更加傳統的MacOS界面。

像/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的子目錄決不是一個好主意。然而,當需要存儲特定的應用程式資料時,應用程式可以建立一個新的子目錄。

ApplicationSupport

特定應用程式的第三方插件,幫助程式,模闆和其他資源。按規定,這些項目應被放置在以應用程式命名的子目錄中。舉個列子,應用程式MyApp的第三方資源将被放在ApplicationSupport/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的插件和擴充。

ScriptingAdditions

擴充了AppleScript功能的腳本及腳本資源。

SherlockPlug-ins

擴充了Sherlock功能的插件。

Sounds

系統警告聲。

StartupItems

在啟動時運作的系統及第三方的腳本和程式,更多資訊請參見“引導和登入”一章中“啟動項目”一節。

Web Server

Web 伺服器的内容,這個目錄包含了CGI腳本以及所備置的Web頁面。

——————————————————————

Developer目錄

用于開發Mac OS X軟體的應用程式,工具,文檔及其他資源是一個可選的軟體安裝包。當您安裝開發工具時,安裝程式會把所有軟體元件放到位于啟動卷(/MacOS X)的Developer目錄中。

Applications

使用者管理和建立軟體項目(ProjectBuilder),建立使用者界面(Interface Builder)和執行調試程式的應用程式。

document.tion

開發者文檔

Examples

分類組織的項目執行個體(Carbon,Java等等)。

Headers

特殊的頭檔案,諸如:遺留的簡單 Carbon頭檔案。

Java

在Cocoa應用程式環境中用于Java橋接所需的檔案。

Makefiles

用于建立和改變項目所需的makefile(.make檔案)和jamfile(.jam檔案)。

Palettes

Apple 提供的Interface Builder的調色闆。

PBBundles

ProjectBuilder使用的可裝載的束。

ProjectBuilderExtras

Project Builder的模闆和插件。

ProjectTypes

ProjectBuilder使用的項目類型的定義

Tools

指令行開發工具,包括那些建立和生成HFS資源分支的工具。

ProjectBuilder定義了一組makefile變量,當您的項目在檔案系統域中指定位置時,應該會使用到它們。您應該使用這些變量而不是将目錄路徑寫死,因為這些位置可能會被改變。

——————————————————————

Classic環境的目錄

Classic環境包含了幾個用于支援Classic應用程式的目錄。這些Classic環境下的目錄是一個Mac OS 9安裝版本中的目錄。Mac OS X 需要為Classic環境安裝一個 Mac OS 9.1(或更新的版本)。如果一個系統安裝了一個比Mac OS 9更早的版本,使用者必須安裝一個更新的版本來支援MacOS X。

一個系統可能有多個Mac OS 9版本安裝在不同的分區上。如果是這種情況,系統預置的Classic設定面闆将讓使用者為Classic環境選擇使用其中的一個Mac OS 9版本。使用者第一次啟動Classic時,系統會将一些必要的檔案附加到被選取的Mac OS 9卷的系統檔案夾内。您也可以使用系統預置中的Classic設定面闆随時啟動或停止Classic運作環境。使用者還可以使用“啟動磁盤(StartupDisk)”系統預置來改變啟動磁盤,以從Mac OS X變為直接啟動進入MacOS 9。

當您在一個卷上安裝了Mac OS 9.1(或更新的版本)時,安裝程式會建立幾個目錄來存儲系統檔案。表9-6列出了安裝程式建立的目錄以及關于其内容的描述。如果您已經安裝了一個MacOS X 和 Mac OS 9.1(或更新)的本版,MacOS 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目錄将包含以下結構

ReleaseNotes.localized/

      .localized/

      en.strings

      de.strings

      ja.strings

在每個strings檔案當中,您要把非本地化目錄名轉變成本地化目錄名。舉個例子,要轉換目錄名“Release Notes”成為一個本地化目錄名,每個strings檔案都要包含類似以下的條目。

"ReleaseNotes" = "Localized name"

注意:許多系統定義的目錄在他們的名稱裡并不包含.localized擴充名。因為這些目錄在引入本地化檔案系統名之前已經存在。對于這些已知的目錄,MacOS X轉而在目錄中查找名為.localized的空檔案。如果此檔案存在,那MacOS X就會顯示其本地化目錄名文本。

——————————————————————

HFS+ 和 UFS的不同點

在Mac OS X的兩種主要檔案系統:HFS+和UFS上,有着許多重要的不同點。在許多情況下,這些不同會與在MacOS 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.用一種類似的方法來更新文檔檔案。是以,無論何時替身都能保持有效。

繼續閱讀