FHS:
為了規范各種Linux發行版的目錄配置方法和目錄定義而制定了FHS規范。
在FHS規范的Linux中,所有的文件和目錄都由根目錄開始,即“/”,它是所有文件和目錄的起點。然后按層次化的樹狀劃分下來。這種目錄結構被稱為“目錄樹”。
目錄樹的特性:
·起始點為根目錄(/或root)
·每一個目錄不僅能使用本地端分區的文件系統,也可以使用網絡上的文件系統。
·每一個文件在樹中的文件名(包含完整路徑)都是獨一無二的
絕對路徑與相對路徑:
·由根目錄(/)開始寫起的文件名或目錄名
·其他的都屬于相對路徑
FHS定義的目錄樹:
每個目錄都是依附在/根目錄下面,所以安裝的時候一定要有一個/根目錄對應的分區才能安裝的原因就在于此。根據FHS定義,每個目錄應包含的文件內容如下:
/ | 根目錄root(/),一般建議在根目錄下只有目錄。根目錄是啟動系統是第一個載入的分區,所以所有啟動過程都會用到的文件都應該與根目錄連在一起 | |
/bin, /usr/bin /usr/local/bin |
供所有用戶使用的基本命令:不能關聯至獨立分區,OS啟動即會用到的程序。除了/bin之外,/usr/bin、/usr/local/bin也是放置用戶可執行的二進制文件的目錄 | |
/boot | 放置linux系統啟動時用到的文件,啟動時會用到linux的核心文件。其中vmlinuz就是linux的核心。另外grub、bootloader等引導器也存放在此 | |
/dev |
設備文件及特殊文件的存放位置,訪問這個目錄下的某個文件,就相當于訪問某臺設備。設備又分為字符設備(character device)和塊設備(block device) |
|
/etc |
放置系統主要的配置文件,此目錄下的文件幾乎都是純文本文件。 /etc/init.d/:所有服務的默認啟動腳本都放在這里 /etc/xinetd.d/:這是超級守護程序(super daemon)貴案例的各項服務的配置文件目錄。 /etc/X11:與X window相關的各種設置文件都在這里 |
|
/home |
系統默認的用戶家目錄。在新增一般賬號時,默認的家目錄都會放到這里。~表示當前用戶家目錄;~cisco表示cisco用戶的家目錄 |
|
/lib, /usr/lib, /usr/local/lib |
是系統使用的函數庫的目錄。程序運行過程中,可能會調用一些額外的參數,這需要函數庫的協助。目錄中包含基本共享庫文件,以及內核模塊文件(lib/modules) | |
/lost+found | 系統出現異常,產生錯誤時,會將一些遺失的片段放于此目錄下,通常這個目錄會自動出現在某個分區最頂層的目錄下。 | |
/mnt /media |
臨時文件系統和便攜式設備的掛載點 |
|
/opt | 給主機額外安裝軟件所放的目錄,相當于windows的附件,第三方程序安裝的位置 | |
/proc | 這個目錄本身是一個“虛擬文件系統”,用于輸出內核與進程信息相關的虛擬文件系統。它放置的數據都在內存中,因此不占據磁盤空間 |
|
/root | 系統管理員的家目錄 | |
/sbin /usr/sbin /usr/local/sbin |
放置一些供管理員使用的命令,如:fdisk、mk2efs、fsck等。目錄下的可執行文件其他用戶可以查看而不能設置 | |
/srv | 一些服務啟動之后,這些服務所需要訪問的數據目錄。 | |
/tmp | 這是一般用戶或者正在執行的程序存放臨時文件的地方。任何人都可以訪問,所以建議定期清理 |
|
/usr |
“universal shared,read-only data”,根絕FHS規范的第二層內容,在/usr目錄下,包含系統的主要程序、圖形界面所需要的文件、額外的函數庫、本機自行安裝的軟件,以及共享的目錄與文件。類似于windows系統中,“Program files”與“Windows”兩個目錄的結合。 ./bin:保證系統擁有完整功能而提供的應用程序 ./sbin:管理員才有權限運行的 ./lib:庫文件 ./include:C程序使用的頭文件 ./share:結構化的獨立的數據 ./local:第三方應用程序的安裝位置,包含bin,sbin,lib,lib64,etc,share等 |
|
/var |
主要放置系統執行中經常變化的文件,其主要目錄有: cache:應用程序緩存數據目錄 lib:存儲應用程序狀態信息 local:專用于為/usr/local下的應用程序存儲可變數據 lock:鎖文件 log:日志文件及目錄 opt:專用于為/opt下的應用程序存儲可變數據 run:運行中的進程相關的數據,通常用于存儲進程的pid:文件 spool:緩沖池數據 tmp:保存在系統重啟的之間存儲的臨時文件 |
特殊目錄:
1,建議不可與root分區分開的目錄:/etc,/sbin,/bin,/dev,/lib
因為開機的時候核心只會載入/這一個分區。但是啟動的時候會用到許多命令與函數庫。比如要載入就需要mount程序,init程序等,還需要許多配置文件,設備文件,這些文件分別存在/etc,/dev,/lib等目錄中,因此這些目錄都需要與/綁在一起。
2,建議單獨劃分分區的目錄:/home、/usr、/var、/tmp
系統用戶個人家目錄在/home里,這個目錄可能是訪問最頻繁的目錄之一。為了合理地分配資源,我們可能會限制每個人可以使用的最大硬盤配額。因此必須將/home目錄獨立出來,而且最好這個分區能大一點,尤其是linux作為文件服務器的時候,就更重要了。
/usr則是一些程序安裝的目錄,也可以獨立出來;/var目錄由于記錄了相當多的常用數據,讀取很頻繁,所以是“容易出問題的分區”。如果當/var出問題的時候,就不會影響到其他分區,保證了安全性。
3,特別重要的目錄
/etc:這個目錄是系統設置文件放置的地方,其中包括了系統上的賬號與密碼(/etc/passwd),啟動時用到的各項設置(/etc/sysconfig/*),各主要網絡服務的設置文件。如果此目錄下的文件被刪除或損壞,對系統危害比較大。
/var:此目錄是用于管理系統運行過程中的額重要暫存數據,此外最終的數據例如郵件/var/spool/mail也放置在此目錄中。幾乎所有服務的登陸文件,都存放在/var/log目錄中。
/opt與/usr/local:都是安裝軟件的目錄,建議將自己的軟件安裝到自己的用戶目錄下,規范安裝。
原創文章,作者:lichenhan,如若轉載,請注明出處:http://www.www58058.com/21628