Linux 檔案系統型別導覽

2019-08-27 17:55:00

Linux 檔案系統多年來在不斷發展,讓我們來看一下檔案系統型別。

雖然對於普通使用者來說可能並不明顯,但在過去十年左右的時間裡,Linux 檔案系統已經發生了顯著的變化,這使它們能夠更好對抗損壞和效能問題。

如今大多數 Linux 系統使用名為 ext4 的檔案系統。 “ext” 代表“擴充套件extended”,“4” 表示這是此檔案系統的第 4 代。隨著時間的推移新增的功能包括:能夠提供越來越大的檔案系統(目前大到 1,000,000 TiB)和更大的檔案(高達 16 TiB),更抗系統崩潰,更少碎片(將單個檔案分散為存在多個位置的塊)以提高效能。

ext4 檔案系統還帶來了對效能、可伸縮性和容量的其他改進。實現了後設資料和紀錄檔校驗和以增強可靠性。時間戳現在可以跟蹤納秒級變化,以便更好地對檔案打戳(例如,檔案建立和最後更新時間)。並且,在時間戳欄位中增加了兩個位,2038 年的問題(儲存日期/時間的欄位將從最大值翻轉到零)已被推遲到了 400 多年之後(到 2446)。

檔案系統型別

要確定 Linux 系統上檔案系統的型別,請使用 df 命令。下面顯示的命令中的 -T 選項顯示檔案系統型別。 -h 顯示“易讀的”磁碟大小。換句話說,調整報告的單位(如 M 和 G),使人們更好地理解。

$ df -hT | head -10Filesystem     Type      Size  Used Avail Use% Mounted onudev           devtmpfs  2.9G     0  2.9G   0% /devtmpfs          tmpfs     596M  1.5M  595M   1% /run/dev/sda1      ext4      110G   50G   55G  48% //dev/sdb2      ext4      457G  642M  434G   1% /appstmpfs          tmpfs     3.0G     0  3.0G   0% /dev/shmtmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/locktmpfs          tmpfs     3.0G     0  3.0G   0% /sys/fs/cgroup/dev/loop0     squashfs   89M   89M     0 100% /snap/core/7270/dev/loop2     squashfs  142M  142M     0 100% /snap/hexchat/42

請注意,/(根)和 /apps 的檔案系統都是 ext4,而 /dev 是 devtmpfs 檔案系統(一個由核心填充的自動化裝置節點)。其他的檔案系統顯示為 tmpfs(駐留在記憶體和/或交換分割區中的臨時檔案系統)和 squashfs(唯讀壓縮檔案系統的檔案系統,用於快照包)。

還有 proc 檔案系統,用於儲存正在執行的進程的資訊。

$ df -T /procFilesystem     Type 1K-blocks  Used Available Use% Mounted onproc           proc         0     0         0    - /proc

當你在整個檔案系統中遊覽時,可能會遇到許多其他檔案系統型別。例如,當你移動到目錄中並想了解它的檔案系統時,可以執行以下命令:

$ cd /dev/mqueue; df -T .Filesystem     Type   1K-blocks  Used Available Use% Mounted onmqueue         mqueue         0     0         0    - /dev/mqueue$ cd /sys; df -T .Filesystem     Type  1K-blocks  Used Available Use% Mounted onsysfs          sysfs         0     0         0    - /sys$ cd /sys/kernel/security; df -T .Filesystem     Type       1K-blocks  Used Available Use% Mounted onsecurityfs     securityfs         0     0         0    - /sys/kernel/security

與其他 Linux 命令一樣,這裡的 . 代表整個檔案系統的當前位置。

這些和其他獨特的檔案系統提供了一些特殊功能。例如,securityfs 提供支援安全模組的檔案系統。

Linux 檔案系統需要能夠抵抗損壞,能夠承受系統崩潰並提供快速、可靠的效能。由幾代 ext 檔案系統和新一代專用檔案系統提供的改進使 Linux 系統更易於管理和更可靠。