搜尋
首頁系統教程Linux深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

Ext

全名為Linux extended file system, extfs,即Linux擴充檔案系統,Ext2就代表第二代檔案擴充系統,Ext3/Ext4以此類推,它們都是Ex​​t2的升級版,只不過增加了日誌功能,且彼此向下相容,所以Ext2被稱為索引式檔案系統,而Ext3/Ext4被稱為日誌式檔案系統。

備註:Linux支援許多檔案系統,包括網路檔案系統(NFS)、Windows的Fat檔案系統。

查看Linux支援的檔案系統:ls -l /lib/modules/$(uname -r)/kernel/fs

深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

#查看Linux支援的檔案系統(已載入記憶體):cat /proc/filesystems

深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

#核心設計

資料區

這些元素相對穩定,磁碟格式化後,就固定下來了。

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

深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

##挑選一個已格式化好的設備,查看檔案系統的詳細資訊:dumpe2fs /dev/vda1

深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)

##備註:透過上面的Magic簽名為0xEF53,說明我們的磁碟分割區是一個的ext2和ext3檔案系統。類似於透過檔案開頭的Magic,可以判斷檔案類型一樣。

总结

Ext家族是Linux支持度最广、最完整的文件系统,当我们格式化磁盘后,就已经为我们规划好了所有的inode/block/metadate等数据,这样系统可以直接使用,不需要再进行动态的配置,这也是它最优秀的特点,不过这也是它最显著的缺点,磁盘容量越大,格式化越慢,centos7.x已经选用xfs作为默认文件系统。

以上是深入了解Linux的標準檔案系統(Ext2/Ext3/Ext4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:脚本之家。如有侵權,請聯絡admin@php.cn刪除
Linux實際上有什麼好處?Linux實際上有什麼好處?Apr 12, 2025 am 12:20 AM

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

在Linux上掌握道德黑客的基本工具和框架在Linux上掌握道德黑客的基本工具和框架Apr 11, 2025 am 09:11 AM

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

如何學習Linux基礎知識?如何學習Linux基礎知識?Apr 10, 2025 am 09:32 AM

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

Linux最有用的是什麼?Linux最有用的是什麼?Apr 09, 2025 am 12:02 AM

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

Linux的缺點是什麼?Linux的缺點是什麼?Apr 08, 2025 am 12:01 AM

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

Linux難以學習嗎?Linux難以學習嗎?Apr 07, 2025 am 12:01 AM

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

Linux的5個基本組件是什麼?Linux的5個基本組件是什麼?Apr 06, 2025 am 12:05 AM

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

Ubuntu Home Automation:使用開源工具建立智能的居住空間Ubuntu Home Automation:使用開源工具建立智能的居住空間Apr 05, 2025 am 09:19 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

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