# Linux 文件系統層次結構
## 目標
了解基本的文件系統布局、組織,以及重要文件類型的位置。
## 文件系統層次結構
Linux 中所有文件存儲在文件系統中,它們被組織到一個顛倒的目錄樹中,稱為文件系統層次結構。這棵樹是顛倒的,因為樹根在該層次結構的頂部,樹根的下方延伸出目錄和子目錄的分支。

因為樹根在該層次結構的頂部,樹根的下方延伸出目錄和子目錄的分支。
/ 目錄是根目錄,位于文件系統層次結構的頂部。/ 字符還用作文件名中的目錄分隔符。例如,如果 etc 是 / 目錄的子目錄,我們把它稱為 /etc 目錄。類似的,如果 /etc 目錄包含一個名為 issue 的文件,我們將該文件指代為 /etc/issue。
/ 的子目錄用于標準化的用途,以便根據文件和用途組織文件。這可以方便查找文件。例如,在根目錄中,子目錄 /boot 用于存儲啟動系統所需的文件。
## 注意
在描述文件系統目錄內容時會遇到下列術語:
- 靜態,保持不變的內容,除非以顯示方式編輯或重新配置。
- 動態或可變,通常由活動進程修改或附加的內容。
- 永久,在重啟后依然保留的內容,尤其是配置設置。
- 運行時,重啟期間清除的進程或系統特定內容或屬性。
下表根據名稱和用途列出了系統中一些最重要的目錄。
重要的 Red Hat Enterprise Linux 目錄
| 位置 | 用途 |
| --- | --- |
| /usr | 安裝軟件、共享的庫,包括文件和靜態只讀程序數據。重要的子目錄有:<br>- /usr/bin:用戶命令。<br>- /usr/sbin:系統管理命令。<br>- /usr/local:本地自定義軟件。 |
| /etc | 特定于此系統的配置文件。 |
| /var | 特定于此系統的可變數據,在系統啟動之間保持永久性。動態變化的文件(如數據庫、緩存目錄、日志文件、打印機后臺處理文檔內容和網站內容)可以在 /var 下找到。 |
| /run | 自上一次系統啟動以來啟動的進程的運行時數據。這包括進程 ID 文件和鎖定文件,等等。此目錄中的內容在重啟時重新創建。(此目錄整合了舊版 Red Hat Enterprise Linux 中的 /var/run 和 /var/lock。) |
| /home | 普通用戶存儲其個人數據和配置文件的主目錄。 |
| /root | 管理超級用戶 root 的主目錄。 |
| /tmp | 供臨時文件使用的全局可寫空間。10 天內未訪問、未更改或未修改的文件將自動從該目錄中刪除。還有一個臨時目錄 /var/tmp,該目錄中的文件如果在 30 天內未曾訪問、更改或修改過,將自動刪除。 |
| /boot | 開機啟動過程中所需的文件。 |
| /dev | 包含特殊的設備文件,供系統用于訪問硬件。 |
## 重要
在 Red Hat Enterprise Linux 7 中,/ 中的四個較舊的目錄現在與它們在 /usr 中對應的目錄擁有完全相同的內容:
- /bin 和 /usr/bin。
- /sbin 和 /usr/sbin。
- /lib 和 /usr/lib。
- /lib64 和 /usr/lib64。
在 Red Hat Enterprise Linux 的較早版本中,這些是不同的目錄,包含幾組不同的文件。在 RHEL 7 中,/ 中對應目錄的符號鏈接。
## 參考
hier man 手冊
文件系統層次結構標準
http://www.pathname.com/fhs