FHS

FHS

Filesystem Hierarchy Standard(檔案系統目錄標準)的縮寫,多數Linux版本採用這種檔案組織形式,類似於Windows作業系統中c盤的檔案目錄,FHS採用樹形結構組織檔案。FHS定義了系統中每個區域的用途、所需要的最小構成的檔案和目錄,同時還給出了例外處理與矛盾處理。FHS定義了兩層規範,第一層是, / 下面的各個目錄應該要放什麼檔案數據,例如/etc應該要放置設定檔案,/bin與/sbin則應該要放置執行檔等等。絕對路徑為:由根目錄(/)開始寫起的檔案名稱或目錄名稱,例如/home/dmtsai/.bashrc;相對路徑為相對於當前路徑的檔案名稱寫法。

定義

FHS定義了兩層規範,第一層是, / 下面的各個目錄應該要放什麼檔案數據,例如/etc應該要放置設定檔案,/bin與/sbin則應該要放置執行檔等等。因為Linux的開發人員實在太多了,如果每個人都使用自己的目錄配置方法,那么將可能會帶來很多管理問題。你能想像,你進入一個企業之後,所接觸到的Linux目錄配置方法竟然跟你以前學的完全不同嗎?很難想像。所以,後來就有所謂的檔案系統層次標準(Filesystem Hierarchy Standard,FHS)出台。

第二層則是針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄檔案、/usr/share放置共享數據等等。

特點

由於FHS僅是定義出最上層(/)及子層(/usr, /var)的目錄內容應該要放置的檔案數據,因此,在其他子目錄層級內,就可以隨開發人員自行配置了。舉例來說,FC4的網路設定數據放在/etc/sysconfig/network-script/目錄下,但SuSE Server 9則是將網路放在/etc/sysconfig/network/目錄下,目錄名稱是不同的。

另外,在Linux中,所有的檔案與目錄都由根目錄/ 開始。那是所有目錄與檔案的源頭。然後再一個一個分支下來,有點像樹狀。因此,我們也稱這種目錄配置方式為:“目錄樹(directory tree)”。這個目錄樹主要特性有:

目錄樹的起始點為根目錄(/, root)。

每一個目錄不僅能使用本地端分區的檔案系統,也可以使用網路上的檔案系統。舉例來說,可以利用網路檔案系統(Network File System,NFS)伺服器載入某特定目錄等。

每一個檔案在此目錄樹中的檔案名稱(包含完整路徑)都是獨一無二的。

此外,根據檔案名稱寫法的不同,也可將路徑(path)定義為絕對路徑(absolute)與相對路徑(relative)。絕對路徑為:由根目錄(/)開始寫起的檔案名稱或目錄名稱,例如/home/dmtsai/.bashrc;相對路徑為相對於當前路徑的檔案名稱寫法。例如./home/dmtsai或../../home/dmtsai/等等。反正開頭不是/ 就屬於相對路徑的寫法。必須要了解,相對路徑是以“當前所在路徑的相對位置”來表示的。舉例來說,當前在/home目錄下,如果想要進入/var/log目錄時,怎么寫呢?

cd /var/log(absolute)

cd ../var/log(relative)

因為在/home中,所以要回到上一層(../)之後,才能繼續向/var移動。

特別注意這兩個特殊的目錄:

.:表示當前目錄,也可以使用./來表示。

..:表示上一層目錄,也可以../來表示。

.與..的目錄概念很重要,你常常會看到cd ..或 ./command之類的命令方式,就是表示上一層與當前所在目錄的工作狀態。此外,針對“檔案名稱”與“完整檔案名稱(由/ 開始寫起的檔案名稱)”的字元限制大小為:

單一檔案或目錄的最大容許檔案名稱為255個字元。包含完整路徑名稱及目錄(/)的完整檔案名稱為4096個字元。

我們知道,/var/log/下面有個檔案名稱為message,這個message檔案的最大檔案名稱可達255個字元。var與log這兩個上層目錄最長也分別可達255個字元。但總的來說, /var/log/messages這樣完整的檔案名稱最長則可達4096個字元。

提示:root在Linux裡面的意義很多。如果從“賬號”的角度來看,root指“系統管理員”身份,如果以“目錄”的角度來看,root指的是根目錄,就是/ 。要特別注意。

相關搜尋

熱門詞條

聯絡我們