linux檔案系統基礎知識 筆記總結版

2021-10-31 22:03:24 字數 4332 閱讀 9449

對於乙個檔案來說,有乙個索引節點號與之對應;而對於乙個索引節點號,卻可以對應多個檔名。

連線分為軟連線和硬連線,其中軟連線又叫符號連線。

硬連線: 原檔名和連線檔名都指向相同的實體地址。目錄不能有硬連線;硬連線不能跨檔案系統(不能跨越不同的分割槽),檔案在磁碟中只有乙個拷貝。

由於刪除檔案要在同乙個索引節點屬於唯一的連線時才能成功,因此硬連線可以防止不必要的誤刪除。

軟連線: 用 ln -s 命令建立檔案的符號連線。符號連線是linux特殊檔案的一種,作為乙個檔案,它的資料是它所連線的檔案的路徑名。沒有防止誤刪除的功能。

3、檔案系統型別:

ext2 : 早期linux中常用的檔案系統

ext3 : ext2的公升級版,帶日誌功能

ramfs : 記憶體檔案系統,速度很快

nfs : 網路檔案系統,由sun發明,主要用於遠端檔案共享

ms-dos : ms-dos檔案系統

vfat : windows 95/98 作業系統採用的檔案系統

fat : windows xp 作業系統採用的檔案系統

ntfs : windows nt/xp 作業系統採用的檔案系統

hpfs : os/2 作業系統採用的檔案系統

proc : 虛擬的程序檔案系統

iso9660 : 大部分光碟所採用的檔案系統

ufssun : os 所採用的檔案系統

ncpfs : novell 伺服器所採用的檔案系統

smbfs : samba 的共享檔案系統

xfs : 由sgi開發的先進的日誌檔案系統,支援超大容量檔案

jfs :ibm的aix使用的日誌檔案系統

reiserfs : 基於平衡樹結構的檔案系統

udf: 可擦寫的資料光碟檔案系統

4、虛擬檔案系統vfs

linux支援的所有檔案系統稱為邏輯檔案系統,而linux在傳統的邏輯檔案系統的基礎上增加料乙個蓄念檔案系統( vitual file system ,vfs) 的介面層。

虛擬檔案系統(vfs) 位於檔案系統的最上層,管理各種邏輯檔案系統,並可以遮蔽各種邏輯檔案系統之間的差異,提供統一檔案和裝置的訪問介面。

5、檔案的邏輯結構

檔案的邏輯結構可分為兩大類: 位元組流式的無結構檔案和記錄式的有結構檔案。

由位元組流(位元組序列)組成的檔案是一種無結構檔案或流式檔案 ,不考慮檔案內部的邏輯結構,只是簡單地看作是一系列位元組的序列,便於在檔案的任意位置新增內容。

由記錄組成的檔案稱為記錄式檔案 ,記錄是這種檔案型別的基本資訊單位,記錄式檔案通用於資訊管理。

6、檔案型別

普通檔案 : 通常是流式檔案

目錄檔案 : 用於表示和管理系統中的全部檔案

連線檔案 : 用於不同目錄下檔案的共享

裝置檔案 : 包括塊裝置檔案和字元裝置檔案,塊裝置檔案表示磁碟檔案、光碟等,字元裝置檔案按照字元操作終端、鍵盤等裝置。

管道(fifo)檔案 : 提供程序建通訊的一種方式

套接字(socket) 檔案: 該檔案型別與網路通訊有關

7、檔案結構: 包括索引節點和資料

索引節點 : 又稱 i 節點,在檔案系統結構中,包含有關相應檔案的資訊的乙個記錄,這些資訊包括檔案許可權、檔名、檔案大小、存放位置、建立日期等。檔案系統中所有檔案的索引節點儲存在索引節點表中。

資料 : 檔案的實際內容。可以是空的,也可以非常大,並且擁有自己的結構。

8、ext2檔案系統

ext2檔案系統的資料塊大小一般為 1024b、2048b 或 4096b

ext2檔案系統採用的索引節點(inode):

索引節點採用了多重索引結構,主要體現在直接指標和3個間接指標。直接指標包含12個直接指標塊,它們直接指向包含檔案資料的資料塊,緊接在後面的3個間接指標是為了適應檔案的大小變化而設計的。

e.g: 假設資料塊大小為1024b ,利用12個直接指標,可以儲存最大為12kb的檔案,當檔案超過12kb時,則要利用單級間接指標,該指標指向的資料塊儲存有一組資料塊指標,這些指標依次指向包含有實際資料的資料塊,

假如每個指標占用4b,則每個單級指標資料塊可儲存 1024/4=256 個資料指標,因此利用直接指標和單級間接指標可儲存 1024*12+1024*256=268 kb的檔案。當檔案超過268kb時,再利用二級間接指標,直到使用**間接指標。

利用直接指標、單級間接指標、二級間接指標、**間接指標可儲存的最大檔案大小為:

1024*12+1024*256+1024*256*256+1024*256*256*256=16843020 kb,約 16gb

若資料塊大小為2048b,指標佔4b,則最大檔案大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792 kb 約 268gb

若資料塊大小為4096b,指標佔4b,則最大檔案大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744 kb ,約 4tb

注: 命令 tune2fs -l /dev/sda5 可檢視檔案系統

ext2檔案系統最大檔名長度: 255個字元

ext2檔案系統的缺點:

ext2在寫入檔案內容的同時並沒有同時寫入檔案meta-data, 其工作順序是先寫入檔案的內容,然後等空閒時候才寫入檔案的meta-data。若發生意外,則檔案系統就會處於不一致狀態。

在重新啟動系統的時候,linux會啟動 fsk ( file system check) 的程式,掃瞄整個檔案系統並試圖修復,但不提供保證。

9、ext3檔案系統:

ext3基於ext2的**,所以磁碟格式與ext2相同,使用相同的元資料。

ext2檔案系統無損轉化為ext3檔案系統: tune2fs -j /dev/sda6

日誌塊裝置( journaling block device layer,jbd)完成ext3檔案系統日誌功能。jbd不是ext3檔案系統所特有的,它的設計目標是為了向乙個塊裝置新增日誌功能。

當乙個檔案修改執行時,ext3檔案系統**將通知jbd,稱為乙個事務(transaction)。發生意外時,日誌功能具有的重放功能,能重新執行中斷的事務。

日誌中的3種資料模式:

1)、data=writeback :不處理任何形式的日誌資料,給使用者整體上的最高效能

2)、data=odered :只記錄元資料日誌,但將元資料和資料組成乙個單元稱為事務(transaction) 。此模式保持所句句的可靠性與檔案系統的一致性,效能遠低於data=writeback模式,但比data=journal模式快

3)、data=journal :提供完整的資料及元資料日誌,所有新資料首先被寫入日誌,然後才被定位。意外發生過後,日誌可以被重放,將資料與元資料帶回一致狀態。

這種模式整體效能最慢,但資料需要從磁碟讀取和寫入磁碟時卻是3種模式中最快的。

ext3檔案系統最大檔名長度: 255個字元

ext3檔案系統的優點:可用性、資料完整性、速度、相容性

10、reiserfs檔案系統

reiserfs檔案系統是由hans reiser和他領導的開發小組共同開發的,整個檔案系統完全是從頭設計的,是乙個非常優秀的檔案系統。也是最早用於linux的日誌檔案系統之一。

reiserfs的特點

先進的日誌機制

reiserfs有先進的日誌(journaling/logging)功能機制。日誌機制保證了在每個實際資料修改之前,相應的日誌已經寫入硬碟。檔案與資料的安全性有了很大提高。

高效的磁碟空間利用

reiserfs對一些小檔案不分配inode。而是將這些檔案打包,存放在同乙個磁碟分塊中。而其它檔案系統則為每個小檔案分別放置到乙個磁碟分塊中。

獨特的搜尋方式

reiserfs基於快速平衡樹(balanced tree)搜尋,平衡樹在效能上非常卓越,這是一種非常高效的演算法。reiserfs搜尋大量檔案時,搜尋速度要比ext2快得多。reiserfs檔案系統使用b*tree儲存檔案,而其它檔案系統使用b+tree樹。

b*tree查詢速度比b+tree要快很多。reiserfs在檔案定位上速度非常快。

在實際運用中,reiserfs 在處理小於 4k 的檔案時,比ext2 快 5 倍;帶尾檔案壓縮功能(預設)的reiserfs 比ext2檔案系統多儲存6%的資料。

支援海量磁碟

reiserfs是乙個非常優秀的檔案系統,一直被用在高階unix系統上,可輕鬆管理上百g的檔案系統,reiserfs檔案系統最大支援的檔案系統尺寸為16tb。這非常適合企業級應用中。

優異的效能

由於它的高效儲存和快速小檔案i/o特點,使用reiserfs檔案系統的pc,在啟動x視窗系統時,所花的時間要比在同一臺機器上使用ext2檔案系統少1/3。另外,reiserfs檔案系統支援單個檔案尺寸為4g的檔案,這為大型資料庫系統在linux上的應用提供了更好的選擇。

Linux檔案系統與磁碟管理

實驗報告 掌握linux下檔案系統的建立 掛載與解除安裝。掌握檔案系統的自動掛載。某企業的linux伺服器中新增了一塊硬碟 dev sdb,請使用fdisk命令新建 dev sdb1主分割槽和 dev sdb2擴充套件分割槽,並在擴充套件分割槽中新建邏輯分割槽 dev sdb5,並使用mkfs命令分...

Linux檔案系統與磁碟管理LVM

硬碟的結構與分割槽 磁頭header,磁軌 track 磁柱 cylinder 扇區 sector 節 分割槽 partition 指定從哪個磁柱 起始磁柱 到哪個磁柱 結束磁柱 的範圍儲存以何種檔案系統儲存 mbr master booter recorder 檔案系統 邏輯塊 block 分割槽...

Linux磁碟與檔案系統管理

data block 資料塊 ext2 檔案系統中所支援的block大小有1k 2k 4k三種 block大小最大單一檔案限制最大檔案系統總容量限制 1k16gb2tb 2k256gb8tb 4k2tb16tb 原則上,block的大小與數量在格式化完就不能再改變了 除非重新格式化 每個block內...