詳解MAC硬盤中各個文件夾
詳解MAC硬盤中各個文件夾
打開Macintosh HD你會發現內中有四個文件夾(一般情況下,隱藏文件夾是不可見的,而且,可能會更多,比如安裝xcode后會有developer文件夾).
分別有——應用程序(Applications)、系統(System)、用戶(User)、資料庫(Library)。四個文件夾中又分別各有若干數量的文件夾存在。
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的地方
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、.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目錄中的子目錄:
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
鍵盤定義。
包含了用戶的郵箱(僅為用戶域)。
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.用一種類似的方法來更新文檔文件。因此,無論何時替身都能保持有效。
Mac OS web前端
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。