Ext
全名為Linux extended file system, extfs,即Linux擴充檔案系統,Ext2就代表第二代檔案擴充系統,Ext3/Ext4以此類推,它們都是Ext2的升級版,只不過增加了日誌功能,且彼此向下相容,所以Ext2被稱為索引式檔案系統,而Ext3/Ext4被稱為日誌式檔案系統。
備註:Linux支援許多檔案系統,包括網路檔案系統(NFS)、Windows的Fat檔案系統。
查看Linux支援的檔案系統:ls -l /lib/modules/$(uname -r)/kernel/fs
#查看Linux支援的檔案系統(已載入記憶體):cat /proc/filesystems
#核心設計
資料區
這些元素相對穩定,磁碟格式化後,就固定下來了。
1、inode(索引節點)
記錄檔案的權限、屬性和資料所在區塊block的號碼,每個檔案都有且僅有一個的inode,每個inode都有自己的編號,可以把inode簡單地理解為文檔索引。
2、block(資料區塊)
儲存的文件內容,也叫資料區塊(data block),每個block都有自己的編號,Ext2支援的單位block容量僅1k、2k、4k。
備註:為了方便inode的記錄,在磁碟格式化後,block的大小都已經固定了。每一個區塊只能存放一個文件的數據,若文件太大,將佔用多個block;若文件太小,block剩餘空間就不能被使用了,就會導致磁碟空間浪費,所以在磁碟分割後,文件系統格式化前,請先仔細想想檔案系統的預計使用情況。
中介資料(metadata)
這些元素是為了維持檔案系統狀態而設計出來的,主要代表的是檔案系統的動態配置訊息,屬於描述性資訊。
1、superblock(超級區塊)
記錄檔案系統(filesystem)的整體訊息,包括inode/block的總量、使用量、剩餘量、大小、以及檔案系統的格式和相關資訊。
備註:整個檔案系統的基本資訊全部記錄在superblock,它的大小一般為1024Bytes,如果它死掉,將會花費大量的時間去補救哦! ! !
2、block group(區塊群組)
試想一下,假如我們的磁碟容量高達數百G,當我們格式後,inode和block會非常龐大,為了便於管理,Ext檔案系統在格式化時,引入了區塊群組(block group)的概念,每個區塊群組都保持獨立inode/block/superblock,擁有固定數量的block,這樣就分成了一群最基礎的子檔案系統。
備註:superblock對於檔案系統太重要了,但檔案系統的superblock又只有一個,所以除了第一個block group含有superblock外,後續block group都可能會含有備份的superblock,目的就是為了避免superblock單點無法救援的問題。
3、block bitmap(區塊對照表)
一個block只能被一個檔案使用,當我們新增檔案時,肯定需要使用新的block來記錄檔案資料。那麼如何快速地知道,哪些block是新的呢?哪些block已經使用了的? block bitmap就是這樣被設計出來,記錄所有使用和未使用的block號碼。同樣的,當我們刪除檔案時,先從block bitmap中找到對應的block號碼,然後更新標誌為未使用,最後釋放block。
inode bitmap(inode 對照表)
#和block bitmap一樣的設計概念,只不過它記錄地是已使用和未使用的inode號碼,這裡就不再敖述了。
group descriptor
#描述每個區段(block group)開始和結束的block號碼,以及說明每個區段(inodemap、blockmap、inode table)分別介於哪些block號碼之間。
列出目前系統所有被格式化的裝置:blkid
##挑選一個已格式化好的設備,查看檔案系統的詳細資訊:dumpe2fs /dev/vda1
##備註:透過上面的Magic簽名為0xEF53,說明我們的磁碟分割區是一個的ext2和ext3檔案系統。類似於透過檔案開頭的Magic,可以判斷檔案類型一樣。
总结
Ext家族是Linux支持度最广、最完整的文件系统,当我们格式化磁盘后,就已经为我们规划好了所有的inode/block/metadate等数据,这样系统可以直接使用,不需要再进行动态的配置,这也是它最优秀的特点,不过这也是它最显著的缺点,磁盘容量越大,格式化越慢,centos7.x已经选用xfs作为默认文件系统。
以上是深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

開啟智能家居新篇章:基於Ubuntu的開源家庭自動化系統 智能家居技術徹底改變了我們與生活空間的互動方式,為日常生活帶來了便利、安全和能源效率。從遠程控制燈光和電器,到監控安全攝像頭和自動化氣候控制,智能家居技術變得越來越普及。 然而,許多商業智能家居系統存在局限性:高昂的成本、隱私問題以及有限的兼容性。幸運的是,開源軟件解決方案結合Ubuntu的強大功能,提供了一種替代方案——允許用戶創建可定制、經濟高效且安全的智能家居生態系統。 本指南將探討如何使用Ubuntu和開源工具設置家庭自動化系統。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。