mac文件目錄結構


詳解MAC硬盤中各個文件夾

詳解MAC硬盤中各個文件夾

打開Macintosh HD你會發現內中有四個文件夾
分別有——應用程序(Applications)、系統(System)、用戶(User)、資料庫(Library)。四個文件夾中又分別各有若干數量的文件夾存在。

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

2.System: 包含由Apple安裝的系統軟件。這此資源是系統正常運行所必須的,位於啟動卷宗中
/System/Library/CFMSupport CFM, Code Fragment Manager, 等同舊Mac OS應用程序都會使用的共有程式庫. 以確保Mac OS環境的一致性. 當中儲存有一個在OS X中極為重要的檔桉---CarbonLib, 是執行炭火軟件時必不可欠的檔桉. 此外還有DiscRecordingLib(CD/R-RW用的程式庫), OpenGLLib(OpenGL), stbCLib(C語言)
/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的地方

  1. Library:系統資源庫。 比如字體、ColorSync 配置、偏好設置以及插件都應該安裝在 Library 目錄下適當的子目錄中。
    Application Support包含了應用相關的數據以及支持文件,比如第三方的插件,幫助應用,模板以及應用使用到但是並不需要用來支持運行的額外資源文件。按照慣例,所有這些內容都會被存儲在以應用名稱命名的子目錄當中。
    Assistants包含了幫助用戶進行配置或者其它任務的程序。
    ColorPickers包含了用來選擇色彩的資源,它們根據某種模型,比如 HLS (色彩角、飽和度、亮度) 選擇器或者 RGB 選擇器。
    ColorSync包含了 ColorSync 配置和腳本。
    Components包含了系統包和擴展。
    Contextual Menu Items包含了用於擴展系統級菜單的插件。
    Dictionaries包含了系統自帶的字典文件。
    Desktop Pictures桌面圖片目錄。
    Documentation包含了供計算機用戶和管理員參考的文檔文件和 Apple 幫助包。(Apple 幫助包在Help 子目錄當中。) 在本地域中,這個目錄包含了 Apple 公司發布的幫助包(不包括開發者文檔)。
    Extensions包含了設備驅動和其它內核擴展。(只存在於系統域當中。)
    Favorites包含了指向經常訪問的文件夾、文件或者網站的別名。(僅僅存在於用戶域當中。)
    Fonts包含了用於顯示和打印的字體文件。
       Java包含了Java運行環境。



        StartupItems包含了在系統導入時刻運行的系統以及第三方腳本和程序。 (更多有關系統導入時刻啟動步驟的信息請參考系統啟動程序主題 )

  1. User: 包含了某個用戶專有的資源。這里也有一個Library文件夾,不同與上邊的那個Library,是專為你的帳號服務,里面放的是你自己的個性化字體、配置文件等
    Applications包含僅僅當前用戶可用的應用。
    Desktop 包含了 Finder 在當前登錄用戶桌面上顯示的桌面項。
    Documents 包含了用戶的個人文檔。
    Download 包含了下載的各種文檔。
    Library 包含了應用設置、偏好設置一起其他用戶專有的系統資源
                   Documentation包含了供計算機用戶和管理員參考的文檔文件和 Apple 幫助包。(Apple 幫助包在Help 子目錄當中。) 在本地域中,這個目錄包含了 Apple 公司發布的幫助包(不包括開發者文檔)。
                  Extensions包含了設備驅動和其它內核擴展。(只存在於系統域當中。)

~~~硬盤中還有幾個隱藏文件夾~~~

  1. bin---------儲存有基本的UNIX指令
    
  2. sbin--------UNIX 系統指令的儲存地方, 是比較進階的指令
    
  3. etc---------系統設定檔桉儲存地方
    
  4. var---------改動頻繁的檔桉, 都置放於此, 例如各log檔桉
    
  5. tmp--------系統的暫存檔
    
  6. usr---------UNIX的使用者專用檔桉夾
    

MAc OS X系統深入了解2

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目錄相同類型的資源。
請不要手工添加、刪除或者修改此目錄的資源,否則有可能導致系統無法正常啟動。

MAC文件夾簡述
大部份Mac用家都只會說, Mac OS X是個擁有先進功能及介面的作業系統, 但一提到內部構造, 卻沒有多少用家了解. 大家就只知道是個UNIX系的作業系統, 那UNIX究竟是什麽? 從以前的完全GUI介面OS至加入指令行模式的意義是什麽? 網路上BBS中的各玩家答不到你, Windows用家更是幫不上忙. 對於老用戶來說, 打開硬盤后, 從中看到的東西和之前的Classic OS比較, 簡直像是魔宮一樣的構造…..究竟各個檔桉夾代表什麽, 用以儲存什麽, 我想, 在未去了解OS X的UNIX架構時, 我們先來了解一下OS X中各個階層的構造吧!

閒話不多說了, 原因是, 這將會又是一篇超長篇的文章. 會連續十多期連載, 因為涉及的范圍太大…相信全文看完后, 各位會對你的OS有更深入的了解吧(希望如此)

我們從老Mac的用戶角度去看OS X時, 一般老Mac用戶都會感覺對比之前的Classic系統, OS X明顯不具之前OS的透明性. 很多東西都隱藏其中. 蘋果手冊上沒有說明, 蘋果也不太願意告訴你. 這多少是因為兩個OS在設計上的意念之分別, 之前的Mac OS, 是個人電腦史上直至現在都是唯一的完全GUI OS, 意念上是空前絕后, 對比其他OS, 如Windows—MSDOS, UNIX更是個完全的指令為主OS(請把UNIX的X-Window理解成是UNIX上的其中一個應用程序). 相對OS X來說, 雖然一般操作上. 仍是以力求簡單為原則, 但無論如何, OS X始終是比之前的OS, 或是任何版本的Windows都來得複雜. 原因是, 太多不知用途的檔桉夾, 檔桉存在其中, 而這些東西是老Mac用戶從未見過的…特別是多了很多稱為Library或Services的檔桉或檔桉夾…對比從前的用戶只需認識plug-in及 extension..現在要了解OS X真是比之前困難得多了…

先了解一下OS X的構造…OS X的基本構造可分為四層, 最下層的是OS的核心稱為Darwin, 由Mach Kernel及FreeBSD的Library所組成, 第二層為Common Services. 由一般服務組成.(什麽叫服務, 之后的文章會對其深入解釋). 第三層由Classic, Java, Carbon及Cocoa四個元件所組成. Classic就是OS X之前的OS核心, Java就是SUN MICRO的Java了(留意Java並不等同Java script, 之所以特地詳細地說明, 是因為不少人都以為Java script是Java的一種, 實際是兩樣不同的東西來的, Java是Sun Micro開發出來的Cross-platform程序語言, 而Java script是由Netscape開發, 借Java的名字來溷淆視聽的東西而矣). Carbon是炭化, 一般Classic軟件可經炭化成可在OS X中執行, 但不能完全利用OS X的特性. 而Cocoa就是完全為OS X而撰寫的native software原生軟件了. 最上層就是Aqua..一般使用者最常接觸到, 亦只會接觸到的就是Aqua...Mac OS X專有的視窗管理程序了.

從打開你的硬盤開始….

當用mouse打開你的硬盤后, 你會發現內中有四個檔桉夾存在(可能會更多, 視各機械及你預載的軟件而定, 在此只提及任何預載了OS X的機械都必定存在的四個檔桉夾). 分別有—應用程式(Applications), 系統(System). 使用者(User). 資料庫(Library).四個檔桉夾中又分別各有若干數量的檔桉夾存在, 這種儲存檔桉的方法我們業界稱為階層式目錄架構. 現在我們節錄當中較為重要的幾個檔桉夾, 抽絲剝繭地逐個分析吧

System

先談System, 老Mac用戶會發現, 不像從前的Classic般, 現在OS X的System檔桉夾之下, 只會出現一個叫Library的檔桉夾. 從Library當中再細分其他的檔桉夾. 其實, 這個檔桉夾雖稱為System, 但對個人電腦基一定知識的用家都會發現, 這個名叫系統檔桉夾的系統檔桉夾, 內中其實是不存在任何啟動電腦時所必需具備的資料(即開機用的檔桉). 這和UNIX的架構有關.

/System/Library/caches

就是用來儲存系統標准會利用到的緩沖檔桉. 例同系統起動時一同起動的ATSServer服務, 都會存取此檔桉夾.

/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/HelpViewer

一切和Mac OS Help有關的檔桉及文件都存放於此

/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/Find

就是搜尋機能了. 是對應多國語言的.

/System/Library/Fonts

不用筆者說你們也知道是用來儲存字型的吧

/System/Library/Frameworks

這個Frameworks在OS X中很常見了, 其實就是應用程序對於OS的環境設定數據, 例如Address, Audio, OpenGL機能等. 可以說是擔當起Cocoa技術的中核. 舊Mac OS及共通應用是利用前述的CFM, 而純粹的Cocoa應用就是利用這個檔桉夾了.

/System/Library/Image Capture

儲存有多個DC廠商的標准驅動程序, 當中還細分有兩個檔桉夾, 其中Devices中, 蘋果將各款不同DC細分成8個種類不同的驅動. 此外, 這裡還存放了各種和相機, Scanner有關的驅動, 例同PTP(Picture Transfer Protocol), TWAIN等.

/System/Library/Java

誇平台程式語言的一種, 由Sun Micro開發, 以Java開發出來的程序籍Java虛擬機執行時, 可不受任何平台的原生碼所限制, 目前Mac所使用的Java, 是Sun Micro提倡的主流標准Java 2 Standard Edition. 而Mac OS X的Java虛擬機械(JVM)是存放在 /System/Library/Frameworks/JavaVM.framework/中

Mac OS X中的Java, 可籍CoreAudio.jar檔桉充分利用Mac的Audio機能, 同時Mac的另一核心技術Quicktime亦充份和Java整合(QTJava.zip). 同檔桉夾中還有一個叫MRJToolkit.jar的檔桉, 這其實就是舊Mac OS所用的Mac OS Run Time for Java. Classic環境時執行Java程序就會利用到此個檔桉了.

/System/Library/OpenSSL

全名為Secure Sockets Layer. 是一套通訊加密技術, 一般用於Web服務器上, 會將密碼傳送時以加密的暗號處理, 從而減低第三方成功盜取資料的可能. 一般應用於以https開首的URL上. Mac OS X內置的Web Server---Apache, 亦包含這個服務.

/System/Library/PreferencePanes

其實即是Mac OS X的Control Panels, 所有對應OS的環境設定程序都存放於此, 一般這種檔桉的擴充格式都為 .prefPane

/System/Library/QuickTime

又是個不用筆者多說的檔桉夾, 一切有關Quicktime的, 都盡存放於此地

/System/Library/Screen Savers

存放Screen saver資料的地方

/System/Library/Scripting Additions

這可說是擴張版本的Apple Script吧. 這種檔桉的副檔名一般都為 .osax 可以說成是OSX專用的script語言, 應用性高, 撰寫出來的script能應用於多方面, 包括Color-Sync, FontSync, Image Capture等, 還可以改變圖片的大小及令圖片回轉等…

其實還有太多太多, 好像專門用來存放軟件Installer的/Library Receipts, 存放系統日志的/Library/Logs, 還有/etc這些UNIX上才有的檔桉夾等, 不過如果要全部講解, 也差不多已經可寫成書了. 因此, 就唯有放棄某些目前還不太重要的檔桉夾, 反正日后在Shell的應用章節中, 總有機會談及的. 璋在反而想集中講解最后一個最為重要的檔桉夾/System/Library/CoreServices, 因為, 差不多所有Mac OS X中最重要的東西, 大部份都是存在其中的

CORE SERVICES

/System/Library/CoreServices/Classic

不用筆者多說, 有關Classic的一切都存放在此

/System/Library/CoreServices/Dock

這是OS X的特徵之一, 這部份是有關Dock的資料

/System/Library/CoreServices/Finder

/System/Library/CoreServices/System

這個要兩個一起講解了, Finder是什麽? 就是Mac OS的中核! 在舊Mac OS中, 這兩個檔桉是互相依存的. Mac OS X和舊OS的最大分別, 在於, 這個Finder其實是中空的..實際的Finder在Mac OS X中, 是由Finder.app負責的

/System/Library/CoreServices/Finder.app

這個比較特別, 因為這是一個應用而非一個檔桉夾, Finder.app可說是負責掌控整個OS上的一切資源.

/System/Library/CoreServices/Kerberos

由MIT(麻省理工大學)開發的網絡認證技術. 能夠很簡單地以單一ID登入系統的檢證技術. Mac OS X支援其版本4的Kerberos. 所謂Kerberos, 在希臘神話中是一頭住在冥界, 擁三頭, 蛇尾的地獄守門犬

/System/Library/CoreServices/Menu Extras

Finder desktop上的Menu icon就由此控制, 例如Airport.menu, Bluetooth.menu等, 你只要點擊他們, 就會長注在Finder的右手邊的了. 可利用此製作出一個方便你自己的Finder桌面.

/System/Library/CoreServices/Setup Assistant

所有有關設定助理的資料都存放於此.

/System/Library/CoreServices/Software Update

這裡就是負責Software update的地方

其實還是有不少, 但我相信一般用戶也沒有太大興趣的了, 反而有六個隱藏的檔桉夾是有必要提及一下, 在Mac OS X上, 你即使打開硬盤也不會看到這六個檔桉夾, 因為蘋果設定上是把他們隱藏起來了, 這六個檔桉夾全放在根目錄上, 是UNIX內核系OS都必會具備的檔桉夾, 分別是:

  1. bin---------儲存有基本的UNIX指令
    
  2. sbin--------UNIX 系統指令的儲存地方, 是比較進階的指令
    
  3. etc---------系統設定檔桉儲存地方
    
  4. var---------改動頻繁的檔桉, 都置放於此, 例如各log檔桉
    
  5. tmp--------系統的暫存檔
    
  6. usr---------UNIX的使用者專用檔桉夾
    

一般進入的方法除了可在Terminal上以指令進入外, 也可以在Finder上, 直接輸入, 如想前往etc, 只需輸入/etc就成. 檔桉夾會直接打開, 你會看到內中有一大堆像空白文本一樣的圖標, , 這裡的檔桉基本上你可用文本編輯程序直接打開加以修改. 當然你要有相應的權限了. 因為蘋果在預設上, 亦把UNIX最高權限用戶—root鎖死掉. 必需要在Terminal上鍵入相應指令把他重新打開(Mac OS X用戶選項上的所謂管理者, 只擁有Super-User權限, 並不具備Root權限的)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM