一、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、打印隊列和其他隊列的工作目錄 |
三、結束語
到這裏我所認爲常見的目錄就全部總結完啦,如果大家還有補充或者建議,可以給我評論哦,同時希望可以幫助到大家!