那麼檔案系統是如何運作的呢?這與作業系統的檔案資料有關。較新的作業系統的檔案資料除了檔案實際內容外, 通常含有非常多的屬性,例如 Linux 作業系統的檔案權限(rwx)與檔案屬性(擁有者、群組、時間參數等)。 檔案系統通常會將這兩部份的資料分別存放在不同的區塊,權限與屬性放置到 inode 中,至於實際資料則放置到 data block 區塊中。 另外,還有一個超級區塊 (superblock) 會記錄整個檔案系統的整體資訊,包括 inode 與 block 的總量、使用量、剩餘量等。
每個 inode 與 block 都有編號,至於這三個資料的意義可以簡略說明如下:
superblock:記錄此 filesystem 的整體資訊,包括inode/block的總量、使用量、剩餘量, 以及檔案系統的格式與相關資訊等;
inode:記錄檔案的屬性,一個檔案佔用一個inode,同時記錄此檔案的資料所在的 block 號碼;
block:實際記錄檔案的內容,若檔案太大時,會佔用多個 block 。
索引式檔案系統(indexed allocation):
而且檔案系統一開始就將 inode 與 block 規劃好了,除非重新格式化(或者利用 resize2fs 等指令變更檔案系統大小),否則 inode 與 block 固定後就不再變動。
EXT2文件系统:
在整體的規劃當中,檔案系統最前面有一個開機磁區(boot sector),這個開機磁區可以安裝開機管理程式, 這是個非常重要的設計,因為如此一來我們就能夠將不同的開機管理程式安裝到個別的檔案系統最前端,而不用覆蓋整顆磁碟唯一的 MBR, 這樣也才能夠製作出多重開機的環境
EXT2格式里Block Group中的:
ln链接
实链接(hard link):
hard link 是有限制的:
不能跨 Filesystem;
不能 link 目錄。
软连接(Symbol link):