fsck命令
时间:2019-04-29 03:17:32 来源:igfitidea点击:
FSCK-检查和修复LINUX文件系统
fsck
fsck
用于检查和选择修复一个或多个Linux文件系统。执行fsck
命令时,可以指定安装点,例如/
,设备可以指定/ dev / sda1
,也可以指定UUID。如果没有文件系统传递到命令行并且没有传递-A
选项,则fsck将使用/ etc / fstab
中的条目进行检查。Linux的许多发行版将在x天数或x次重新引导后运行自动的fsck
。运行fsck命令时,应始终先卸载文件系统。这将减少发生任何损坏的机会。
fsck-错误代码:
fsck命令返回的退出代码是以下条件的和值:
- 0-无错误
- 1-更正了文件系统错误
- 2-系统应重新启动
- 4-文件系统错误未得到纠正
- 8-操作错误
- 16-使用或语法错误
- 32-Fsck被用户请求取消
- 128-共享库错误
fsck命令的示例
永远不要在已挂载的文件系统上运行fsck。
显示已挂载的文件系统
[root@centos ~]# mount | grep "/dev/sd*" tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) /dev/sdb1 on /test1 type ext3 (rw) /dev/sdb2 on /test2 type ext3 (rw) /dev/sdb3 on /test3 type ext3 (rw) /dev/sdb5 on /test4 type ext3 (rw) /dev/sdb6 on /test5 type ext3 (rw) /dev/sdb7 on /test6 type ext3 (rw) /dev/sdb8 on /test7 type ext3 (rw) [root@centos ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_centos-lv_root 6748936 3193112 3212992 50% / tmpfs 515368 80 515288 1% /dev/shm /dev/sda1 495844 73013 397231 16% /boot /dev/sdb1 287782 10293 262631 4% /test1 /dev/sdb2 295555 10287 270007 4% /test2 /dev/sdb3 295555 10287 270007 4% /test3 /dev/sdb5 295561 10287 270014 4% /test4 /dev/sdb6 295561 10287 270014 4% /test5 /dev/sdb7 295561 10287 270014 4% /test6 /dev/sdb8 264445 10287 240505 5% /test7
fsck-基本检查
卸载的命令是umount
,不带n
[root@centos ~]# umount /dev/sdb1 [root@centos ~]# fsck /dev/sdb1 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sdb1: clean, 14/74296 files, 19679/297168 blocks ### 指定了文件系统的名称而不是设备的名称。 [root@centos ~]# umount /test2 [root@centos ~]# fsck /test2 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sdb2: clean, 11/76608 files, 19964/305232 blocks
仅在卸载文件系统时执行fsck
-M
参数指示fsck命令仅在未安装文件系统的情况下运行检查。在我们的示例中,我们没有卸载文件系统,因此未采取任何措施。如果未对已安装的文件系统采取任何措施,则返回返回代码0
。我们可以通过执行echo $?
来验证这一点。命令。
[root@centos ~]# fsck -M /dev/sdb3 fsck from util-linux-ng 2.17.2 [root@centos ~]# echo $? 0
养成每次运行fsck时都使用-M
选项的习惯,因为这样可以防止意外地对已挂载的文件系统运行fsck。
fsck-自动修复错误
通过指定-y
参数,fsck将尝试自动修复/修复任何错误。
[root@centos ~]# fsck -y /dev/sdb3 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sdb3: clean, 11/76608 files, 19964/305232 blocks
运行fsck但不修复任何错误
通过使用-n
参数,我们将运行fsck,但是,它将不会尝试对我们的文件系统进行任何修复。并非所有文件系统都接受-n
选项。有时您可能需要运行-N
选项,该选项将不进行任何修复,而只会报告将要执行的操作。
[root@centos ~]# fsck -n /dev/sdb3 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sdb3: clean, 11/76608 files, 19964/305232 blocks