文件系統檢測:
由於硬件或軟件還有可能因為電源,造成計算機死機或者突然關機,導致文件系統錯誤,所以需要文件系統檢測工具fsck( file system check)
fsck命令
check and repair a Linux filesystem
檢測和修復linux文件系統
語法:
fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...] [--] [fs-specific-options]
fsck.type 命令:
查看fsck支持的文件系統
1
2
[root@localhost test]# fsck[TAB][TAB]
fsck fsck.btrfs fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
參數:
-t:指定被檢測分區的文件系統
-a:自動修復錯誤,不用一直按 y確認
-r:報告檢測數據比如說狀態,耗時
-f : 強制檢測
-A:根據/etc/fstab將設備掃描一次
-R:檢測時,如根據-A掃描列表檢測,可以跳過已掛載的根目錄
示例:
[root@localhost test]# fsck -t ext4 /dev/sdb5
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb5: clean, 11/32768 files, 6353/131072 blocks
[root@localhost test]#
#強制檢測,添加-f參數顯示檢測過程
[root@localhost test]# fsck -f -r -t ext4 /dev/sdb5
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb5: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
/dev/sdb5: status 0, rss 1548, real 0.023808, user 0.001684, sys 0.007371
注意:
1 執行fsck時,被檢測分區需要在卸載狀態
2 通常不會使用fsck進行檢測,可能會造成數據丟失
e2fsck :ext系列文件系統專用的檢測修復工具(check a Linux ext2/ext3/ext4 file system)
參數:
-p:自動修復文件系統錯誤
-n:不對文件系統做修改
-c:檢測壞塊,並加入壞塊列表
-a:相當於-p
-f:強制檢測
-y:自動回答 yes
示例
#強制檢測
[root@localhost test]# e2fsck -f /dev/sdb5
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb5: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
#自動修復錯誤
[root@localhost test]# e2fsck -p /dev/sdb5
/dev/sdb5: clean, 11/32768 files, 6353/131072 blocks
當e2fsck檢測已掛載的分區時:只做了 讀 測試
[root@localhost test]# e2fsck -n /dev/sda3
e2fsck 1.42.9 (28-Dec-2013)
Warning! /dev/sda3 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda3: clean, 11521/640848 files, 210961/2560000 blocks