Linux文件層級結構標準(FHS)

Linux文件層級結構標準(FHS)

設計FHS(Filesystem Hierarchy Standard)的目的主要是為了給Unix-like系統的管理員提供一個管理系統以及目錄結構的一個參考。

由于利用Linux源碼開發產品和發行版的企業或組織眾多,如果每個組織都按照自己的喜好來組織系統中的文件結構,網絡上必然出現各種各樣的文件結構。這些產品的用戶就不得不為每種不同的文件系統結構花費時間來學習。有了FHS之后,幾乎所有的Unix-like系統的發行商或軟件開發者都遵從該建議規范每個特定目錄下分別只放哪些文件,方便了文件的組織和查找。

FHS也根據實際使用的需求持續更新,完整的FHS可參考(http://www.pathname.com/fhs/)

/, /usr, /var

FHS根據文件的可共享、不可共享、靜態和動態等特點,將目錄樹架構分為/、/usr、/var三部分。

  • / 根目錄是整個系統最重要的一個目錄,因為在Linux系統中所有的目錄都必須掛載在根目錄下,也即所有的目錄都是由根目錄衍生出來。系統開機是所需要的開機軟件、內核文件、函數庫等都必須在根目錄下。因此FHS也建議根目錄不要安裝在非常大、數據存取非?;钴S的分區上,如此一來就能盡可能地降低系統不必要的錯誤。建議:根目錄越小越好,且應用程序安裝目錄不要和根目錄放置于同一分區。根目錄下一般建議由以下耳機子目錄:

    • /bin 供所有用戶使用的基本命令程序文件
    • /sbin 系統管理員使用的工具程序
    • /boot 引導加載器(bootloader)必須用到的靜態文件:kernel、initramfs(initrd)、grub等
    • /dev 存儲特殊文件或設備文件: 字符設備(線性設備)、塊設備(隨機設備)
    • /etc 系統程序的配置文件(只能為靜態的,不能是二進制)
    • /lib、/lib64 為系統啟動或根文件系統上的應用程序(/bin, /sbin)提供共享庫(libc.so.* ld*),以及為內核提供內核模塊(modules)
    • /media 便攜式設備的掛載點,cdrom、floopy等
    • /mnt 其他文件系統的臨時掛載點
    • /opt 第三方程序的安裝位置,可選路徑;
    • /srv 當前主機為服務提供的數據
    • /tmp 為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄
    • /usr user hierarchy 全局共享只讀數據路徑
    • /var var hierarchy存儲常發生變化的文件
    • /proc 內核級進程存儲其相關信息,多為內核參數,例如net.ipv4.ipforward虛擬為net/ipv4/ipforward,存儲于/proc/sys
    • /sys sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;為管理內核提供了一種統一模型的接口
  • /usr 根據FHS建議軟件安裝后將他們的數據合理地分別放置到這個目錄下,而不要自行新建該軟件自己的獨立目錄。/usr放置的數據屬于可分享的且不可變動的,/usr可分享給局域網內的其他主機來使用。

    • /usr/bin
    • /usr/sbin
    • /usr/lib
    • /usr/lib64
    • /usr/include C程序頭文件
    • /usr/share 命令手冊頁和自帶文檔等
    • /usr/local 另一個層級結構,讓系統管理員安裝本地應用程序,通常用于安裝第三方軟件
    • /usr/src 程序的源碼
  • /var 主要存儲常變化的文件,包括緩存(cache)、登錄文件(logfile)以及某些軟件運行所產生的文件,包括程序文件(lock file, run file),或者例如MySQL數據庫的文件等。
    • /var/cache 應用程序產生的緩存文件
    • /var/lib 程序執行過程中,需要用到的數據文件放置的目錄。此目錄下各自的軟件應該要有各自的目錄。
    • /var/lib 某些設備或者文件資源一次只能被一個應用程序所使用,如果同時有兩個程序使用該設備時,就可能產生一些錯誤,因此就得要將該設備或文件上鎖(lock),以確保該文件或設備只給一個程序使用。
    • /var/log 登錄文件 /var/log/messages, /var/log/wtmp
    • /var/mail 個人電子郵箱目錄,通常與/var/spool/mail/目錄互為鏈接
    • /var/run 與運行中的進程相關的數據,PID等
    • /var/spool 存放等待其他程序使用的數據
    • /var/tmp 下次啟動前會被刪除的臨時數據

 

原創文章,作者:N24_fynl,如若轉載,請注明出處:http://www.www58058.com/62805

(2)
N24_fynlN24_fynl
上一篇 2016-12-05
下一篇 2016-12-06

相關推薦

  • Python入門之迭代,列表解析,生成器及文件操作

    迭代器是訪問集合元素的一種方式,迭代器包含了__iter__()(返回迭代器對象本身)next()(返回迭代器的下一個元素)迭代器只能往前不會退后 以下類型支持迭代 序列類型:list,str,tuple 非序列類型:dict,file 自定義類 通過內建的函數iter()或對象自帶方法__iter__可以獲取迭代器對象 l1=range(5) iter1=…

    Linux干貨 2015-12-13
  • 用戶和組及批量創建

    用戶和組       操作系統都有用戶和組,windows,linux等等,用戶和組用來做什么呢?       用戶,是我們進入系統時的憑證,不是每一個人想進就進的。你想吧,如果操作系統沒有用戶就能登錄進系統,那這就帶來了許許多多的安全隱患了。而組則是為了方便管理用戶的一個組容器。 &nb…

    系統運維 2016-08-04
  • 推薦-LINUX磁盤管理

    Evernote Export LINUX磁盤管理 linux學習筆記 磁盤分區 文件系統 掛載 在操作系統中,磁盤管理屬于設備管理的范疇。一塊硬盤安裝到主機之后稱為裸設備,若要能夠在Linux系統中使用必須對其進行如下步驟:分區=>格式化(創建文件系統)=>掛載 LINUX系統的設備類型 Linux沿襲Unix的風格,將所有設備認成是一個文件 …

    Linux干貨 2016-04-05
  • shell編程中的三種流程控制

    流程控制 v 一 、過程式編程語言: 1.順序執行 2.選擇執行 3.循環執行  條件選擇if 語句   選擇執行:   注意: :if 語句可 嵌套    單分支 if 判斷條件;then 條件為真的分支代碼 fi    雙分支 if 判斷條件; then …

    Linux干貨 2016-08-21
  • 推薦-Centos的網絡配置命令和文件

    一、ifcongfig     Centos6之前最常用的配置網絡命令就是ifconfig,使用ifconfig命令時最好切換到root用戶的身份     1、直接使用ifconfig可以查看當前配置的網絡設備的信息      &…

    Linux干貨 2016-03-27
  • 記事本操作的小小小技巧

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/140063       大家在查看文本文件的時候,如果內容很多,想快速到達某一位置可能比較麻煩,這時如果按住shift,再點擊右側…

    Linux干貨 2015-03-26

評論列表(2條)

  • 馬哥教育
    馬哥教育 2016-12-14 15:06

    總結的非常的,FHS能讓你非常清晰的理解目錄層次結構。

    • 婭娃愛
      婭娃愛 2017-11-07 16:55

      @馬哥教育活捉,架鍋,是馬哥本人嗎?^ ^

欧美性久久久久