Linux文件層級結構FHS

一、FHS簡介

FHS(Filesystem Hierarchy Standard),文件系統層次化標準。相信大家會有疑問,爲什麼會制定這樣一個標準呢?那是因爲

使用Linux的開發人員很多,如果大家都根據個人的習慣來組織系統中的文件,便會出現各種各樣的文件結構。很難相信,你進入一個企業後,所接觸到的Linux文件結構居然跟你之前學的完全不同!因此,爲了讓用戶瞭解安裝文件通常放置的目錄,FHS便應運而生。

二、目錄結構

1、文件組織方式

在Linux中,所有文件和目錄都被組織成一個以單根爲方式組織的倒置樹狀結構。文件系統的最頂層是由根目錄開始的,在根目錄下既可以是目錄,也可以是文件,而每個目錄中又可以包含子目錄文件。如此反覆就構成了一個龐大的文件系統。
在這裏插入圖片描述

2、根目錄(/)及其子目錄

根目錄(/)是整個系統中最重要的一個目錄,因爲所有目錄都是由根目錄衍生出來的,並且根目錄與系統的啓動、還原、修復等操作直接相關,也正因爲這樣,FHS建議根目錄越小越好,因爲越大的分區會放入越多的數據,這樣一來可能發生錯誤的機會也就越多。

下面,我們對根目錄下所包含的子目錄進行簡單解釋:

目 錄 放置內容
/root root(系統管理員)用戶的家目錄
/bin 所有用戶在單用戶模式下必須具備的二進制命令文件
/sbin 必備的系統二進制可執行文件(系統管理員使用的系統管理程序)
/boot 引導加載程序的靜態文件
/dev 必要的設備文件
/etc 系統程序的配置文件
/home 普通用戶的家目錄,包含個人配置文件等
/lib、/lib64 /bin/ 和 /sbin/中所需的依賴庫
/media 可移除媒體的掛載點
/mnt 額外設備的臨時掛載點
/opt 第三方軟件安裝目錄
/proc 將進程和內核信息以文件形式呈現的虛擬文件系統
/sys 與/proc相似,記錄與內核相關信息
/srv 本系統提供的特定站點數據( 可以理解爲本系統提供的服務數據)
/tmp 存放臨時文件,通常重啓後清空
/usr 包含用戶大部分的應用程序和文件
/var 各種在系統運行中,內容不停改變的文件。如日誌文件等
/lost+found 一般爲空,當系統發生錯誤時,就會存放一些文件
/run 臨時文件系統,存儲系統本次啓動以來的信息
/selinux Redhat/CentOS所特有的目錄,與安全有關

3、常見目錄及文件說明

①/etc下常見子目錄及文件

目 錄 放置內容
/etc/bashrc 存放系統範圍內的別名和函數
/etc/crontab 定時任務的配置文件
/etc/fstab 在引導期間掛載的文件系統的標準配置文件
/etc/group 用戶組基本信息,包括用戶組名稱,GID,用戶組支持的用戶賬號等信息
/etc/gshadow 組密碼文件
/etc/passwd 用戶的基本信息,包括用戶的用戶名,UID,GID,用戶信息說明,用戶的主文件夾,用戶的shell等信息
/etc/shadow /etc/passwd文件的補充,用戶密碼信息
/etc/hosts 保存了主機名和IP地址
/etc/issue 用戶登陸之前的輸出信息
/etc/shells 當前系統所支持的shell
/etc/skel 新賬戶的默認環境文件
/etc/login.defs 設置用戶賬號限制的文件,如密碼最大過期天數等
/etc/yum.repos.d yum倉庫的配置文件
/etc/sysconfig/init 文件中參數指定了系統在引導過程中的外觀和體驗
/etc/sysconfig/network 簡單的網絡配置
/etc/sysconfig/network-scripts 存儲關於網絡配置的腳本文件
/etc/sysconfig/network-scripts/ifcfg-eth0 網卡配置文件
/etc/ssh SSH服務的配置文件
/etc/profile 爲系統的每一個用戶設置環境信息,每次用戶登陸時被執行
/etc/profile.d 包含/etc/profile文件要執行的腳本

②usr下常見子目錄

目 錄 放置內容
/usr/bin 所有用戶非必要的二進制可執行文件(單用戶模式下不需要)
/usr/sbin 非必須的系統二進制可執行文件(系統管理員使用的系統管理程序和系統守護程序)
/usr/include 標準包含文件,C程序的頭文件和包含文件
/usr/lib /usr/bin 和 /usr/sbin中所需的依賴庫
/usr/local 系統管理員安裝本地軟件使用
/usr/share 結構獨立(共享)的數據,如命令手冊
/usr/src 內核源代碼默認放置目錄

③/var下常見子目錄

目 錄 放置內容
/var/cache 應用程序運行過程中產生的一些緩存文件
/var/lib 應用程序運行過程中,需要用到的數據文件放置的目錄,在此文件夾下,各自軟件應該有各自的目錄
/var/local 存放/usr/local中安裝的程序的可變數據
/var/lock 鎖定文件,某些設備或文件一次只能被一個程序所使用,這便需要上鎖,該目錄存放這類設備文件
/var/log 各自程序的日誌文件,應該定時清理
/var/tmp 比/tmp允許更大的或需要存在較長時間的臨時文件
/var/run 保存在下一次系統引導前有效的關於系統的信息文件。某些程序或服務啓動後,會將它們的PID放置在這個目錄下
/var/spool 放置“假脫機”程序的目錄,如mail、news、打印隊列和其他隊列的工作目錄

三、結束語

到這裏我所認爲常見的目錄就全部總結完啦,如果大家還有補充或者建議,可以給我評論哦,同時希望可以幫助到大家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章