對于每一個 Linux 學習者來說,了解 Linux 檔案系統的結構是十分有必要的
因為在 Linux 中一切皆檔案,隻有深入了解 Linux 檔案系統,才會對 Linux 有更深刻的認識
Linux 檔案系統采用樹狀結構,檔案目錄的命名規範和存放标準遵循 Filesystem Hierarchy Standard
在 Linux 中沒有檔案拓展名的概念,也就是說,一個字尾為
.txt
的檔案,其實可以是任何類型的檔案
要想檢視檔案的實際類型,可以使用
file
指令,它通過讀取檔案頭部資訊來擷取檔案類型
ext3 是目前 Ubuntu 預設采用的檔案系統,當我們将硬碟格式化為 ext3 後,會将硬碟分為四個部分
- Boot Block:包含系統的啟動程式
- Super Block:記錄檔案系統的配置格式
- Data Block:資料的實際存儲區,一個檔案是由串聯的 Data Block 組成的
- i-node:每一個 i-node 辨別一個檔案的位置
一般情況下,Linux 的預設目錄結構及功能如下(以 Ubuntu 系統為例)
-
:存放系統啟動所需的核心檔案/boot
-
:包含超級使用者使用的系統指令,隻有超級使用者才有權限執行此目錄下的指令/sbin
-
:包含普通使用者常用的系統指令,例如/bin
、ls
、cat
等等kill
-
:動态連結庫,支援執行/lib
和/bin
目錄中的二進制檔案/sbin
-
:普通使用者目錄,每個普通使用者在這個目錄下都有一個對應的主工作目錄/home
-
:管理者主目錄,超級使用者專屬的工作目錄/root
-
:存放常用的應用程式,有點像 Windows 下的/usr
C:\Program Files
-
:存放第三方應用程式,有點像 Windows 下的/opt
D:\Software
-
:存放部配置設定置檔案,包括系統配置和第三方應用程式配置,例如網絡配置、使用者資訊配置等等/etc
-
:存放接口裝置檔案,該目錄包含所有在系統中使用的外部裝置,例如磁盤、軟驅等等/dev
-
:存放臨時檔案,一些系統産生的臨時檔案也會放在這個目錄下/tmp
-
:記錄與系統核心相關的資訊/sys
-
:各項裝置檔案的預設挂載點/mnt
-
:儲存具有可變性質的程式檔案/var
-
:包含系統存儲服務的相關資料/srv
-
:儲存從系統誕生到目前狀态的系統資訊/run
-
:儲存系統運作 (核心相關) 和程式執行 (程序相關) 的資訊/proc
-
:當檔案系統發生錯誤時,遺失的片段将放置在此目錄下/lost+found