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
NMG_20141215
By 坊吉
NMG_20141215
- 121