Linux 入門記錄:八、Linux 文件系統


一、文件系統

操作系統通過文件系統管理文件及數據,磁盤或分區需要創建文件系統之后,才能被操作系統所用,創建文件系統的過程又稱之為格式化。沒有文件系統的設備又稱之為裸設備(raw),某些環境會需要裸設備,例如安裝 Oracle 時會需要裸設備。

 

1. 常見的文件系統類型

常見的文件系統有 fat32、NTFS、ext2、ext3、ext4、xfs、HFS 等。其中,fat32 和 NTFS 是 Windows 中的文件系統,ext2、ext3、ext4、xfs、HFS 是 Linux 中的文件系統。NTFS 是當今 Windows 主流的文件系統,ext3、ext4 是 Linux 中主流的文件系統。

 

2. 不同文件系統之間的區別

  • 是否帶有日志
  • 支持的分區大小
  • 支持的單個文件大小
  • 性能
  • ......

 

二、Linux支持的文件系統

常見的有 ext2、ext3、ext4、fat(msdos)、vfat、nfs、iso9660(光盤的文件系統)、proc(Linux 內存中的虛擬文件系統)、gfs(Linux 中的 global file system,全局文件系統)、jfs (帶日志的文件系統)等等,不同的 Linux 發行版本,文件系統略有不同。

 

三、mke2fs命令

命令 mke2fs 用來創建文件系統:

mke2fs -t ext4 /dev/sda3     給第一塊 SATA 硬盤的 3 號分區創建 ext4 文件系統

常用參數:

-b blocksize   指定文件系統塊大小(文件系統每次讀寫數據時的最小單位)
-c             建立文件系統時檢查塊壞損(check,檢查)
-L label       打標簽(類似 Windows 的磁盤卷標)
-j             建立文件系統日志(journal,日志),ext3 和 ext4 默認帶日志

 

 四、mkfs命令

命令 mkfs 也可以用來創建文件系統,相較於 mke2fs 更加簡單,但是支持的參數較少,不能進行精細化的控制。

它還有一些子命令:

mkfs.ext3 /dev/sda3
mkfs.ext4 /dev/sda3
mkfs.vfat /dev/sda3

 

五、dumpe2fs命令

命令 dumpe2fs 可以用來查看分區的文件系統信息:

dumpe2fs /dev/sda1

 

六、journal日志

帶日志的文件系統(ext3、ext4)擁有較強的穩定性,主要體現在出錯時可以恢復。

使用帶日志的文件系統,文件系統會使用一個叫做“兩階段提交”的方式進行磁盤操作,當進行磁盤操作時,文件系統進行以下操作:

  1. 文件系統將准備執行的事務的具體內容寫入日志
  2. 文件系統進行操作
  3. 操作成功后,將事務的具體內容從日志刪除

這樣做的好處是,當事務執行的時候如果出現意外(如斷電或磁盤故障),可以通過查詢日志進行恢復操作。缺點是會喪失一定的性能(額外的日志讀寫操作)。

 

七、e2label命令

命令 e2label 可以用來為文件系統打標簽:

e2label /dev/sda2           顯示 sda2 的標簽
e2label /dev/sda2 MYLABEL   將 sda2 的標簽設置為 MYLABEL

 

八、fsck命令

命令 fsck 用來檢查並修復壞損的文件系統:

fsck /dev/sda2
  • 使用 -y 參數不提示而直接進行修復
  • 默認 fsck 會自動判斷文件系統類型,如果文件系統損壞比較嚴重,請使用 -t 參數指定文件系統類型
  • 對於識別為文件的損壞數據(文件系統無記錄),fsck 會將該文件放入 lost+found 目錄
  • 系統啟動時會對磁盤進行 fsck 操作

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM