檔案系統層次標準(Filesystem Hierarchy Standard,FHS):規範了在根目錄下各個主要目錄應該放什麼樣的檔案。
linux的目錄配置:根據FHS定義,每個目錄內應該放置的檔案內容為:
/:根目錄,在此目錄下只有目錄,不能直接有檔案。是啟動時系統第一個載入的分區,所以,所有啟動過程會用到的檔案應該都放在這個分區中。如:/bin /etc /lib /sbin /dev這五個目錄應該與根目錄在一起,不可獨立為某個分區。
/bin /usr/bin /usr/local/bin:放置使用者可執行檔二進位檔案的目錄。如:ls命令等 。
/boot:主要放置linux啟動時用到的檔案。啟動時會用到linux的核心檔案,這個目錄下面的檔案vmlinuz就是linux的核心。如果引導程式為grub,那麼此目錄內還有/boot/grub目錄。
/dev:在linux系統上,任何裝置都以檔案類型存放在這個目錄中,訪問這個目錄下面的檔案,就等於訪問某台裝置。
/etc:系統主要的設定檔幾乎都放在這個目錄下,如人員的帳號空碼檔案,各種服務的起始檔案等。只有root許可權可更改,此目錄下幾乎是ASCLL的純文字檔案。比較重要的檔案有:/etc/inittab init.d modprobe.conf X11 fstab sysconfig 等,還有比較重要的目錄有:
/etc/init.d:所有服務的預設啟動指令碼都在這裡,例如要啟動或關閉iptables的話:/etc/init.d/iptables start
/etc/xinetd.d:超級精靈(super daemon)管理的各項服務的設定檔案目錄。
/etc/X11:與X Window有關的各種設定檔都在這,尤其是xorg.conf 或 XF86Config這二個X-Server的設定檔案。
/home:是系統預設的使用者家目錄(home directory),~表示目前使用者的家目錄,而~dmtsai則表示dmtsai的家目錄。
/lib /usr/lib /usr/local/lib :系統使用的函數庫的目錄。/lib/modules目錄中有核心的相關模組。
/lost+found:系統出現異常,產生錯誤時,會將一些遺失的片段放於此目錄中,通常這個目錄會自動出現在某個分區最頂層的目錄下。全職在/disk中加裝硬碟,在這個目錄下就會自動產生一個這樣的目錄:/disk/lost+found
/mnt /media:這是磁碟片和光碟片的預設載入點;通常磁碟片掛在/mnt/floppy下,光碟片掛在/mnt/cdrom下;/media 和 /mnt有些類似。
/opt:給主機額外安裝軟體所放的目錄。不過,以前的linux系統中,我們還是習慣放在/usr/local目錄下。
/proc:這個目錄本身是一個“虛擬檔案系統”。它放置的資料都在記憶體中,如系統核心,形成資訊,外部裝置的狀態及網路狀態等。因為這個目錄下的資料都在記憶體中,所以本身並不佔任何硬碟空間。比較重要的檔案有:/proc/cpuinfo /proc/dma /proc/interrupts /proc/ioports /proc/net/*等。
/root 系統管理員的家目錄。
/sbin /usr/sbin /usr/local/sbin:放一些系統管理員才會用到的執行命令,如:fdisk mke2fs fsck mkswap mount等。與bin不太一樣的是,這幾個目錄都是給root系統管理用的。但目錄下的執行檔案可以讓一般使用者用來“查看”而不能設定。
/srv:一些服務啟動之後,這些服務所需要訪問的資料目錄。example:3w伺服器需要的網頁資料就可能放在/srv/www中。
/tmp:臨時目錄。是任何人都可以訪問的。
/usr:包含系統的主要程式,圖形介面所需要的檔案、額外的函數庫、本機自行安裝的軟體,及共用的目錄與檔案。事實上,它有點像windows作業系統中的"program files"和"winNT"二個檔案夾的結合。在此目錄的重要目錄有:
/usr/bin /usr/sbin:一般使用者及管理員可執行檔檔案放置目錄;
/usr/include:c/c++等程式語言的標頭檔與包含檔案放置處;
/usr/lib:各應用程式的函數庫檔案放置目錄。
/usr/local:本機自行安裝的軟體的預設放置的目錄。當前也適用於:/opt目錄。
/usr/share:共用檔案放置的目錄,如下面二個目錄:
/usr/share/doc:放一些系統協助檔案的地方。
/usr/share/man: manpage的檔案目錄。
/usr/src:linux系統相關的程式碼放置目錄。
/usr/X11R6:系統內的X Window system所需要的執行檔案幾乎都放在這裡。
/var:主要放置系統執行過程中經常變化的檔案。舉例來說,例如緩衝(catch)或者是隨時更改的登入檔案(log file)。此外,某些軟體執行過程中會寫入的資料庫檔案,如Mysql資料庫。
它下面的主要目錄有:
/var/cache:程式在運行過程中的一些暫存檔。
/var/lib:程式執行過程中,使用的資料檔案放置的目錄。如:locate資料庫與MySql及rpm等資料庫系統,都寫在這個目錄中。
/var/log:登入檔案放置的目錄。/var/log/messages就是總管所有登入檔案的檔案。
/var/lock:某些裝置有一次性寫入的特性,中tab(磁帶機),在寫時,會將此裝置鎖起來。
/var/run:某些程式或是服務啟動後,會將它們的PID放在這個目錄下
/var/spool:是一些隊列資料存放的地方。舉例來說,主機收到電子郵件後,就會放到/var/spool/mail中,若信件暫時發不出去,就會收到/var/spool/mequeue目錄下,使用者工作任務分配(cron)則是放在/var/spool/cron中。
啟動資料一般放在/etc中,個人資料放在/home 系統通常是在/usr中。