NMG

2014/12/15

前情提要

檔案系統格式

EXT2

FAT32

EXT3

NTFS

FAT16

格式化

EXT4

前情提要

索引式檔案系統

block

inode

...

S

U

P

E

R

B

L

O

C

K

block group

前情提要

FS與目錄樹

建立目錄

block

inode

+

(至少一個)

建立檔案

block

inode

+

(容量所需+inode補充)

block

+ ...+

如何讀取?

檔案系統

確定使用者對於該目錄是否具有 w 與 x 的權限

 

 inode bitmap 沒有使用的 inode 號碼,並將新檔案的權限/屬性寫入

 

block bitmap到沒有使用中的 block 號碼,並將實際的資料寫入 block 中,且更新 inode 的 block 指向資料

 

更新 inode bitmap ,block bitmap  superblock 的內容

新增檔案

檔案系統

新增檔案

inode table , data block

 

inode bitmap , block bitmap , superblock

資料存放區

 

中繼資料(metadata)

檔案系統

資料不一致 Inconsistent

寫檔案的過程中...

寫入inode table跟datablock

update

superblock

inode/block bitmap

(́◉◞Д◟◉‵)

ლ(゚д゚ლ)

◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣

before : 檢查valid bit , filesystem state狀態 -> fsck

日誌檔案系統

檔案系統

日誌檔案系統 Journaling filesystem

預備

實際寫入

結束

ext2 - >ext3           ext4

日誌紀錄區塊

寫入檔案

預備

檔案寫到一半系統掛掉

check

向下相容

ext3

partition

ext2

filesystem

mount

向上相容

ext3

partition

ext4

filesystem

mount

檔案系統

檔案系統在linux的運作

Memory

CPU

Hard disk

clean or dirty

sync

非同步處理 asynchronously

檔案系統

掛載點mount point

每個filesystem都有獨立的inode/block/superblock

 

掛載 : filesystem與目錄樹結合的動作

 

掛載點一定是目錄 ,該目錄為進入該filesystem的入口

 

必須掛載到目錄樹的某個目錄 ,才能使用該filesystem

 

ls   -il   /   /.   /..

檔案系統

Linux VFS

(Viture Filesystem Switch)

檔案系統

df / du

ls  -l  /lib/modules/$(uname -r)/kernel/fs

裝置資訊 / 容量

linux支援的檔案格式

cat  /proc/filesystem

系統以載入到記憶體的檔案系統

連結檔

實體連結 Hard link           

 

符號連結 Symbol link

指標 -> 指標

 

Windows捷徑

 

 

連結檔

ln [原始檔] [連結檔]

連結某inode號碼的關聯紀錄

刪除檔名 而不是刪除檔案

實體連結Hard Link

連結檔

實體連結Hard Link

不能跨Filesystem

不能link目錄

 

不占用空間

僅是寫入目錄block的關聯資料

連結檔

符號連結Symbolic Link

ln  -s  [原始檔] [連結檔]

建立一個獨立檔案 ,用來指向某檔案的檔名

幾乎等於捷徑

連結檔

Link數

建立目錄時:

/test/. ( = /test/)

/test/..

2個link數

 

mkdir   /test/a

3 /test

2 /a

(2+1

預設

增加硬碟

磁碟分割

fdisk [裝置名稱]

m -> help

 

p , n , t , d , w , q

 

fdisk   -l

 

 

增加硬碟

掛載與卸載

mount [裝置] [掛載點]         EX: mount  /dev/sda1  /

mount -l

 

umount [裝置or掛載點]

 

CD & USB

增加硬碟

掛載與卸載

單一filesystem不該被重複掛載

 

同個目錄不該重複掛載filesystem

 

作為掛載的目錄,理論上是空目錄

增加硬碟

磁碟檢驗

fsck

 

在filesystem卸載時使用

增加硬碟

開機掛載

根目錄一定要掛載 ,而且要先於其他掛載點

其他掛載點必須是以建立的目錄

 

/etc/fstab

/etc/mtab

Made with Slides.com