學習Linux 《鳥哥的Linux私房菜 基礎學習篇(第三版)》--第8章 Linux磁盤與文件系統管理 筆記

認識Ext2文件系統

先複習下前面講到的基礎
扇區(Sector)爲最小的物理儲存單位,每個扇區爲 512 bytes; 

將扇區組成一個圓,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小單位; 

第一個扇區最重要,裏面有:(1)主要開機區(Master boot record, MBR)及分割表(partition 
table), 其中 MBR 佔有 446 bytes,而 partition table 則佔有 64 bytes。 

各種接口的磁盤在 Linux中的文件名分別爲: 

  • /dev/sd[a-p][1-15]:爲 SCSI, SATA, USB, Flash 隨身碟等接口的磁盤文件名; 
  • /dev/hd[a-d][1-63]:爲 IDE 接口的磁盤文件名; 

複習完物理組成後,來複習一下磁盤分區吧!所謂的磁盤分區指的是告訴操作系統『我這顆磁盤在此分
割槽可以存取的區域是由 A 磁柱到 B 磁柱之間的區塊』, 如此一來操作系統就能夠知道他可以在所指定
的區塊內迚行檔案資料的讀/寫/搜索等操作了。 也就是說,磁盤分區意即指定分割槽的起始與結束磁
柱就是了。 
那舉指定分割槽的磁柱範圍是記錄在哪裏?就是第一個扇區的分割表中!但是因爲分割表僅有
64bytes 而已, 因此最多叧能記錄四筆分割槽的記錄,這四筆記錄我們稱爲主要 (primary) 或延伸 
(extended) 分割槽,其中延伸分割槽還可以再分割出邏輯分割槽 (logical) , 而能被格式化的則僅有主
要分割與邏輯分割而已。 
最後,我們再將第三章關於分割的定義拿出來說明一下囉: 
  • 主要分割與延伸分割最多可以有四筆(硬盤的限制) 
  • 延伸分割最多只能有一個(操作系統的限制) 
  • 邏輯分割是由延伸分割持續切割出來的分割槽; 
  • 能夠被格式化後,作爲數據存取的分割槽爲主要分割與邏輯分割。延伸分割無法格式化; 
  • 邏輯分割的數量依操作系統而不同,在Linux 系統中,IDE硬盤最多有59個邏輯分割(5號到 63號), SATA 硬盤則有11個邏輯分割(5號到 15號)。 

文件系統特性

操作系統的文件數據,除了數據內容外,還有包括文件權限(rwx)和文件屬性(擁有着、羣組、時間參數)。文件系統會將這些數據存放在不同的地方。

權限與屬性放置到inode中,而實際的數據文件放到data block 區塊中。另外,還有一個超級區塊(superblock)會記錄整個文件系統的整體信息,包括inode和data block的總量,使用量和剩餘量。

每個inode和block 都有編號,三個數據的含義如下:

  • superblock:記錄此 filesystem 的整體信息,包括 inode/block 的總量、使用量、剩餘量,以及文件系統的格式等相關信息等; 
  • inode:記錄檔案的屬性,一個檔案佔用一個 inode,同時記錄此檔案的數據所在的 block 號碼; 
  • block:實際記錄檔案的內容,若檔案太大時,會佔用多個 block 。 

文件系統的存取方式又有兩種:
1、索引式文件系統(indexed allocation)inode 4一次讀取出所有block位置



2、類似鏈表型、閃存沒有inode,使用FAT格式,只有當讀取完一個block以後才能讀取到下一個block內容



磁盤碎片整理:由於block塊分散的太厲害,讀取時候太慢,因此FAT格式時需要不時的進行磁盤碎片整理,磁盤碎片整理的目的就是將同屬一個文檔的blocks彙整到一起,這樣數據讀取的時候會比較容易。

由於EXT2/3是使用索引式的文件系統,因此不太需要進行碎片整理。

Linux的EXT2文件系統(inode)

inode記錄文件的權限與相關屬性、block記錄文件的實際內容。當我們的文件系統包含幾百Gb時,將所有的inode和block放在一起是很不明智的,這很不方便管理。因此。EXT2文件系統在格式化的時候基本上區分爲多個區塊羣組(block group),每個區塊羣組有獨立的inode/block/superblock。
整體來說,EXT2文件系統格式化後有點像下圖


block group 主要包括以下6個內容

1、data block (資料區塊)
2、inode table (inode 表格)
3、superblock (超級區塊)
4、FileSystem Description(文件系統描述說明)
5、block bitmap (區塊對照表)
6、inode bitmap(inode 對照表)

可使用df 命令查詢出掛載的設備

然後使用dumpe2fs 來查詢 superblock 和 block group信息。

實體鏈接與符號鏈接ln

在linux系統下,鏈接文件有兩種,一種是類似於windows系統中的快捷方式的文件,可以讓你快速的打開文件或者目錄;另外一種則是通過文件系統的inode來產生新的文件名,而不是產生新的文件。這種稱謂實體鏈接(hard link)。

實體鏈接(hard link)

Symbolic Link(符號鏈接,快捷方式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章