Linux 檔案系統多年來在不斷發展,讓我們來看一下檔案系統型別。
雖然對於普通使用者來說可能並不明顯,但在過去十年左右的時間裡,Linux 檔案系統已經發生了顯著的變化,這使它們能夠更好對抗損壞和效能問題。
如今大多數 Linux 系統使用名為 ext4 的檔案系統。 “ext” 代表“擴充套件”,“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 系統更易於管理和更可靠。