歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習之四——磁盤與文件系統管理

Linux學習之四——磁盤與文件系統管理

日期:2017/3/1 12:25:41   编辑:關於Linux
一、一些基本定義 1. superblock:記錄此 filesystem 的整體信息,包括inode/block的總量、使用量、剩余量, 以及文件系統的格式與相關信息等; 2. inode:記錄檔案的屬性,一個檔案占用一個inode,同時記錄此檔案的數據所在的block 號碼; 3. block:實際記錄檔案的內容,若檔案太大時,會占用多個 block 。 二、Linux支持的文件系統 1. 查看Linux 支持的文件系統有哪些: ls -l /lib/modules/$(uname -r)/kernel/fs 2. 查看系統目前已加載到內存中支持的文件系統: cat /proc/filesystems Linux VFS (Virtual Filesystem Switch)來幫我們管理怎麼去訪問不同的文件系統 三、Ext2文件系統介紹 1. block的特點 1) block 的大小與數量在格式化完就不能夠再改動了(除非重新格式化),一般為1K,2K或4K,其大小決定了最大單一檔案的大小和最大文件系統總容量; Block 大小 1KB 2KB 4KB 最大單一檔案限制 16GB 256GB 2TB 最大文件系統總容量 2TB 8TB 16TB 2) 每個 block 內最多只能夠放置一個檔案的數據; 3) 如果檔案大於 block 的大小,則一個檔案會占用多個 block 數量; 4) 若檔案小於block ,則該 block 的剩余容量就不能夠再被使用了(磁盤空間會浪費)。 2. inode的特點 1) 每個 inode 大小均固定為 128 bytes; 2) 每個檔案都僅會占用一個 inode 而已; 3) 文件系統能夠建立的檔案數量與 inode 的數量有關; 4) 系統讀檔案時需要先找到 inode,並分析 inode 所記錄的權限與用戶是否符合,若符合才能夠開始實際讀 block 的內容。 5) inode 記錄 block 號碼的區域定義為12個直接,一個間接, 一個雙間接與一個三間接記錄區。 四、文件系統的相關操作 1. df:列出文件系統的整體磁盤使用量 df [-ahikHTm] [目錄或文件名] 選項與參數: -a :列出所有的文件系統,包括系統特有的/proc 等文件系統; -k :以 KBytes 的容量顯示各文件系統; -m :以 MBytes 的容量顯示各文件系統; -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示; -H :以 M=1000K 取代 M=1024K 的進位方式; -T :連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出; -i :不用硬盤容量,而以 inode 的數量來顯示 2. du:評估文件系統的磁盤使用量 du [-ahskm] 檔案或目錄名稱 選項與參數: -a :列出所有的檔案與目錄容量,因為默認僅統計目錄底下的檔案量而已。 -h :以人們較易讀的容量格式 (G/M) 顯示; -s :列出總量而已,而不列出每個各別的目錄占用容量; -S :不包括子目錄下的總計。du 默認會將所有檔案的大小均列出,因此假設你在 /etc 底下使用 du 時, 所有的檔案大小,包括 /etc 底下的次目錄容量也會被計算一次。然後最終的容量 (/etc) 也會加總一次, 所以,如果想要列出某目錄下的全部數據, 也可以加上 -S 的選頃,減少次目錄的加總喔! -k :以 KBytes 列出容量顯示; -m :以 MBytes 列出容量顯示; 3. ln建立檔案鏈接 ln [-sf] 來源文件 目標文件 選項與參數: -s :如果不加任何參數就進行連結,那就是hard link,至於 -s 就是symbolic link -f :如果 目標文件 存在時,就主動的將目標文件直接移除後再建立! 新建目錄時link數量一般為2,而上層目錄的 link 數則會增加 1,比如/tmp/test有/tmp/test與/tmp/test/.兩個link,而對上層目錄來說,增加了link/tmp/test/.. 4. fdisk 磁盤分區(分區2TB以上用parted) fdisk -l查看當前磁盤分區信息 fdisk 磁盤: 進入磁盤分區管理系統 5. mkfs 磁盤格式化 mkfs [-t 文件系統格式] 裝置文件名 選項與參數: -t :可以接文件系統格式,例如 ext3, ext2, vfat 等(系統有支持才會生效) 6. mke2fs 更細化的磁盤格式化 選項與參數: -b :可以設定每個 block 的大小,目前支持 1024, 2048, 4096 bytes 三種; -i : inode的大小 -c :檢查磁盤錯誤,僅下達一次 -c 時,會進行快速讀寫測試; 如果下達兩次 -c -c 的話,會測試讀寫(read-write),會很慢~ -L :後面可以接標頭名稱 (Label) -j :本來 mke2fs 是 EXT2 ,加上 -j 後,會加入 journal 而成為 EXT3。 7. fsck 來檢驗文件系統是否出錯 8. badblocks 檢查硬盤或軟盤扇區有沒有壞軌 9. mount,unmount磁盤掛載與卸除 注意: 1) 單一文件系統不應該被重復掛載在不同的掛載點(目錄)中; 2) 單一目錄不應該重復掛載多個文件系統; 3) 要作為掛載點的目錄,理論上應該都是空目錄。如果非空,則掛載後原有的文件將被隱藏起來。 10. mknod 修改文件系統的信息,如主要裝置代碼,次要裝置代碼等 11. e2label 修改文件系統標頭 12. tune2fs 修改文件系統為ext2,ext3,ext4等 13. hdparm 硬盤為IDE接口時設置一些參數 14. 可以用mkswap來將大文件建立為swap文件,並用swapon, swapoff 開啟或關閉swap file來實現虛擬內存。 小技巧,可以用dd if=/dev/zero of=/tmp/swap bs=1M count=128來建立大文件。
Copyright © Linux教程網 All Rights Reserved