3-4 階層式目錄結構
3-4-1 階層式檔案系統 『階層式』(Hierarchical)結構就像樹根的形狀一樣,樹根是最源頭端點(就是樹的頭部,一般稱為 root),由這個端點一直往下延伸下去。由樹根往下延伸另一個新的端點,新的端點可能是結束點,則稱為『枝葉』(Leaf);也可能由新的端點再往下延伸到其他端點或枝葉,則該端點稱之為『節點』(Node)。既然,節點是由另一個節點所產生,一般稱產生的節點為『父節點』(Parent node),而由父節點所產生的另一節點,則稱之為『子節點』(Child node),整個家族的形狀猶如『樹狀』(Tree)一般。 Unix 系統的檔案結構就如同圖 3-1 一樣,可以往下分支的節點稱之為『目錄檔案』(Directory file),不可再分支的枝葉則為『一般檔案』(Plain file)。一個目錄節點可再延伸其他子目錄檔案或一般檔案,但一般檔案才是真正儲存資料的位置。一般將目錄檔案簡稱為『目錄』(Directory),而將一般檔案稱為『檔案』(File)。以圖 3-4 為例。每一棵樹都有最頂端的起始點,它是所有目錄與檔案的起始點,又稱之為『根目錄』(Root directory)。某一檔案或目錄的上一層為其『父目錄』(Parent directory),由某一目錄所延伸的次目錄則稱為該目錄的『子目錄』(Child directory),目錄裡可儲存子目錄(矩形)或檔案(橢圓形)。 圖 3-4 目錄與檔案結構 3-4-2 檔案與目錄名稱 每一個檔案或目錄都有一個名稱,可由 1 到 14 個字母所組成(舊版本),並且分辨英文字母的大小寫。這一點與 Windows 就有很大的不同,因為Windows 的檔案名稱是不分大小寫,亦即英文字母的大寫與小寫是相同表示式。其實,Unix的檔案名稱還是允許超過 14 個字母(長度視各系統規範而定),只是超過的部分將不被系統所理會(識別長度也視各系統而定),而且幾乎任何字母皆可使用,但還是儘量不要使用特殊符號,有些系統還是禁止使用一些特殊符號,如 ’?’、’&’、’*’、 ’%’、’-‘、’~’ 等等(備註:名稱規範與檔案系統型態有關,為了不同型態之間可以互通,還是建議使用標準型態)。基本上,一個檔案的表示型態為:file_name.file_type.file_ext_type,其中 file_name 名稱必須具有,其餘兩者視需要而定,可有可無(環境設定檔除外);說明如下:
3-4-3 絕對路徑 我們期望每一個檔案在系統內都有一個獨立無二的名稱,並且能表示出該檔案的所在位置,這就須配合路徑名稱。既然目錄內包含著檔案與次目錄,由上一層目錄延伸下來的目錄連結關係,則稱為『目錄路徑』(Directory Path)。每一路徑節點為一個子目錄,可儲存檔案及該目錄所延伸的子目錄。如果由最頂端『根』目錄開始往下搜尋,每一個子目錄節點或檔案都可以給予一個獨一無二的絕對名稱,如圖 3-5 所示。Unix/Linux 系統利用一個『斜線』(/)表示最頂端的根目錄,這剛好與 Windows 顛倒,Windows 是利用『反斜線』(\)表示目錄之間的關聯。依照圖 3-3 舉出幾個範例說明如下:
圖 3-5 絕對路徑名稱 由此可見,目錄就好像檔案櫃一樣,一個大的檔案櫃除了可以分割為若干個子檔案櫃,且子檔案櫃可以直接存放檔案夾,也可再分割出來幾個子檔案櫃,依此類推,一直延伸下去。唯一不同的是,子檔案櫃的空間會侷限於原檔案櫃的大小,然而子目錄並不受限於父目錄的空間,而是受限於磁碟機的空間,也就這樣,Windows 將子目錄稱之為『資料夾』。 3-4-4 相對路徑 表示檔案的位置並非一定要由根目錄開始。在許多情況之下,由目前所在位置(即是工作目錄)的關聯,來表示某一檔案位置反而會較為方便,這就是『相對路徑名稱』(Relative pathname)。相對路徑表示某一檔案的位置與目前目錄(Current directory,或稱工作目錄)之間的關係如何,一般都用下列兩個符號來表示目錄位置,如下:
我們用圖 3-6 來說明相對路徑的表示法,假設目前使用者將工作目錄切換(如何切換容後介紹)到 d_dir 目錄上,在該位置相對應的目錄或檔案表示如下:
圖 3-6 相對路徑的範例 習慣上,常利用『..』來切換目錄,譬如將工作目錄切換到父目錄,操作如下:
3-4-5 檔案屬性 Unix/Linux 檔案可區分為下列四種型態:
其中一般檔案與目錄為系統主要儲存資料使用,檔案系統內也是這兩種檔案佔大部分。鏈結檔案為兩個以上檔案名稱索引到同一個檔案內容上;特殊檔案大多指週邊裝置檔案(容後說明)。可利用 $ls –l 命令以長形(詳細內容)觀察目前目錄下的檔案,如下:
由上述範例可以看出,每一個檔案包含了 7 個欄位,各欄位功能如下(以 d1 目錄為例,如圖 3-7 所示): 圖 3-7 長型顯示目錄(ls -l)內容
3-4-6 家目錄與工作目錄 本節將介紹如何建立目錄、更改目錄、刪除目錄、與管理檔案的相關命令。還未介紹之前必須先了解下列兩目錄的意思,如下:
『目錄』就如同實際環境裡的房間,當使用者進入某一個房間從事工作時,該房間便成為他的工作室,因此稱為『工作目錄』。 3-4-7 顯示檔案系統結構 - tree 吾人可利用 tree 命令來顯示目錄下的檔案系統結構如何,它是 tree 套件,一般系統並沒有自動安裝,需自行安裝。安裝之前必須將身分替換到 root(需 root 密碼),操作如下:
安裝完成後,可觀察目前目錄下檔案系統結構,如下:
|
翻轉工作室:粘添壽
Linux 伺服器系統管理 - CentOS:
翻轉電子書系列:
|