Linux 中的FHS文件系統風格標準---File Hierarchy Standard

文件系統層次標準(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中。

發佈了47 篇原創文章 · 獲贊 90 · 訪問量 50萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章