2014/12/08
更多權限
預設權限
隱藏屬性
特殊權限
找檔案
SSH
PC
硬碟
PC
硬碟
磁碟分割
硬碟sda
格式化
Why format ?
作業系統不同
Windows 98 以前
-FAT(or FAT16)
Windows 2000以後
-NTFS
Linux
-EXT2 /3 /4
格式化
EXT2
?
A Partition -> A FileSystem
LVM ,RAID
A Partition -> Many FileSystem
一個可被掛載的資料為一個檔案系統而不是一個分割槽
FAT(File Allocation Table)
- 幾乎每個作業系統都有
- 隨身碟(快閃記憶體)
- FAT12 FAT16 FAT32 vFAT exFAT(FAT64)
NTFS(New Technology File System)
- Windows主要FS
- 取代FAT
- 日誌檔案系統
EXT (Extended File System)
- 延伸檔案系統
- Linux第一個FS
- 索引式檔案系統
- ext ext2 (ext2fs) ext3 ext4
檔案
檔案
一大堆
權限
檔案
一大堆
權限
一大堆
屬性
內容
檔案
一大堆
權限
一大堆
屬性
inode
data block
super block
內容
superblock :記錄此FS的整體資訊
- inode/block總量 , 使用量 , 剩餘量 ...
inode :記錄檔案的屬性
- 一個檔案佔用一個inode
- 記錄此檔案的資料所在的block號碼
block :實際記錄檔案的內容
- 一個檔案可以佔用多個block
索引式檔案系統(indexed allocation)
inode
block
反觀 FAT
EXT2
data block
格式化時就固定了 ,影響最大單一檔案大小
格式化後block數量就不能再改變
一個block只能放置一個檔案的資料
- 檔案大於一個block,則佔用多個block
- 檔案小於一個block,剩餘空間無法再使用 (浪費空間)
大的 block 可能會產生較嚴重的磁碟容量浪費,那麼就將 block 訂為1K ?
inode紀錄太多block -> 影響效能
inode table
檔案權限、屬性、擁有者、容量、時間、block位址
128bytes
每個檔案(只)佔用一個inode
能建立的檔案數量與inode數量有關
讀取檔案時,先找到inode、確認權限,才開始讀檔案
12直接指向
12 x 1K
1間接指向
(1K/4bytes =256)
256 x 1K
1雙間接指向
256 x 256 x 1K
1三間接指向
256^3 x 1K
總和:16GB
大於2K的block因EXT2檔案系統限制計算結果會不準
superblock
inode,block總量
未使用與已使用的inode ,block總量
inode ,block大小
filesystem掛載時間,最近一次的寫入時間,最近一次檢驗時間
valid bit值 0掛載 1未掛載
1024bytes
一個FS只有一個superblock (第一個group)
但每個block group都可能有superblock (備份用)
Block bitmap(區塊對照表)
- 記錄未使用的block
Inode bitmap(inode 對照表)
- 記錄未使用的inode
Filesystem Description (檔案系統描述說明)
- 記錄每個block group 開始與結束的位址
- 記錄super block、bitmap、inode table、data block位址
df :目前掛載的裝置
dumpe2fs:列出裝置資訊
ls -li
建立一個目錄時
mkdir test
ext2 會分配一個 inode
與至少一塊 block 給該目錄
-記錄目錄下的檔名與inode
建立一個檔案時
touch test
ext2 會分配一個 inode
與相對於該檔案大小的 block 數量給該檔案
e.q. block=4Kbytes 建立一個100Kbytes的檔案
總共需要26block(25檔案用+1 inode用) + 1 inode
目錄樹讀取
由/開始讀取
檔案的inode不記錄檔名,必須去讀取目錄的權限
讀取 /etc/passwd
讀取/的inode (r? x?)
/的block
讀取etc/的inode(r? x?)
etc/的block
讀取passwd的inode(r?)
passwd的block
Filesystem
2
1912545
1914888
/dev/hda2
/ /etc /etc/passwd
...
1912545 etc
...
...
1914888 passwd
...
找2的block號碼
找etc的inode
找1912545的block號碼
找passwd的inode
讀出block內容
Filesystem大小與讀取效能
檔案block不會連號
資料離散導致效率低
=> 拿出資料,格式化
檔案系統太大,機械手臂轉動幅度大,讀取效能低 =>partition大小分割好
tree /
(sudo apt-get install tree)
du -sh /