介紹一本書叫《Linux 鳥哥私房菜》, 一本教人用linux很經典的一本書,這兩天又看了里面的一章節,做一點筆記。有一些很細節的東西的, 在平時運用過很容易被忽略。
1)U盤使用的文件格式一般是FAT格式,這種格式的讀寫的方式,是讀定完一個black后才知道下一個black的位置。所以當各個black很分散,要做磁盤碎片整理。
2)Ext2是索引式文件系統,基本不太需要進行碎片整理。
3)Ext2一個block的大小是一般4K
4)block的大小與數量在格式化完就不能夠再改變了,除了重新格式化。
5)每個black內最多只能夠旋轉一個文件的數據。
6)如果文件大於black的大小,則一個文件會占用多個black數據。
7)若文件大小小於black,則該block剩余的空間就不能夠再被使用了。
8)日志文件系統
為了避免系統突然中斷而導致文件數據不一致的情況發生,linux在 filesystem當中規划出一個區塊,該區塊專門在記錄寫入或修訂檔案時的步驟.如下:
1. 預備:當系統要寫入一個檔案時,會先在日志記錄區塊中紀錄某個檔案准備要寫入的資訊;
2. 實際寫入:開始寫入檔案的權限與資料;開始更新metadata的資料;
3. 結束:完成資料與metadata的更新后,在日志記錄區塊當中完成該檔案的紀錄
在這樣的程序當中,萬一資料的紀錄過程當中發生了問題,那么我們的系統只要去檢查日志記錄區塊,就 可以知道那個檔案發生了問題,針對該問題來做一致性的檢查即可,而不必針對整塊filesystem去檢查, 這樣就可以達到快速修復filesystem的能力了!這就是日志式文件最基礎的功能。
9)Ext3是Ext2的升級版 具有 可利用性,數據完整性, 速度及轉換的特點。
10)
目錄
1.當文件系統新建一個目錄時,ext2會分配一個inode和至少一塊block給這個目錄。可以用 ls -i查看inode號碼
2.在一個目錄下面如果文件過多,會導致一個block無法容納,Linux會多給該目錄block。
11)
文件
1.當文件系統新建一個文件時,ext2會分配一個Inode和相對該文件大小 的block數據給該文件。
2.inode僅12個直接指向,其他是間接指向 雙間接指向,三間接指向
12)
掛載點(mount point)
1.將文件系統與目錄結合的操作 稱為掛載
2.掛載點一定是目錄,該目錄為進入該文件系統的入口
3.文件系統最頂層的目錄的inode一般為2號
4.單一文件系統不應該被重復掛載在不同的掛載點(目錄)中
5.單一目錄不應該重復掛載多個文件系統
6.作為掛載點的目錄理論上應該都是空目錄,如果有文件會被清空
13)
常見支持的文件系統
1.傳統文件系統:ext2/minix/MS-DOS/FAT(用vfs模塊)/iso9660(光盤)等
2.日志文件系統:ext3/ReiserFS/Windows'NTFS/IBM'sJFS/SGI'sXFS
3.網路檔案系統:NFS/SMBFS
4.想知道Lininx支持文件有哪些,查看方法:ls -l /lib/modules/$(uname -r) /kernel/fs
5.系統目前已加載到內存中支持的文件系統則有:cat /proc/filesystems
14)
Linux VFS
1.VFS 就是虛擬文件系統 (Virtual Filesysterm Switch)
2. Linux 通過VFS管理所有它認識的文件系統
3. 如圖


15)硬連接
由文件系統,我們可以得知:
1.每個文件都會占用一個inode,文件內容由inode的記錄來指向;
2.想要讀出文件,必須要經過目錄記錄的文件來指向正確的inode號碼來讀取。
所謂的硬連接就是多個文件名對同一個inode。
如圖:

要注意兩點:
1.不能跨文件系統
2.不能連接目錄
16) 符號連接
1. 符號連接, 也稱軟連接,英文是 symbolic link
2.符號連接在創建一個獨立文件,而這個文件會讓數據的讀取指向它連接的那個文件的文件名。當源文件被刪除時,符號連接會打不開。
3.符號連接文件和源文件指向不同的inode。1的文件名指向了2的inode.由2的inode指向文件內容。
4.原理如圖:

