fsck 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

fsck 命令补充说明:


fsck 代表“文件系统一致性检查”。 在大多数系统上,如果检测到某些情况,fsck 将在引导时运行。 通常,这些条件是:

  • 文件系统被标记为“dirty” –--其写入状态与计划写入的数据不一致; 或者:
  • 文件系统已挂载了一定次数而未检查。

fsck 命令语法:


fsck [-lsAVRTMNP] [-C [fd]] [-t fstype] [filesys...]
     [--] [fs-specific-options]

fsck 命令选项:


-a:自动修复文件系统,不询问任何问题;
-A:依照 /etc/fstab 配置文件的内容,检查文件内所列的全部文件系统;
-N:不执行指令,仅列出实际执行会进行的动作;
-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
-R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
-s:依序执行检查作业,而非同时执行;
-t<文件系统类型>:指定要检查的文件系统类型;
-T:执行fsck指令时,不显示标题信息;
-V:显示指令执行过程。

fsck 命令参数:


文件系统:指定要查看信息的文件系统。

fsck 命令实例


检查文件系统:该命令将尝试检查 /dev/sda2,并报告发现的任何错误:

fsck /dev/sda2

#检查/dev/sda2,然后尝试自动修复发现的所有错误。
fsck -y /dev/sda2 

#检查所有已配置的文件系统。 fsck将处理文件 /etc/fstab 并检查其中列出的所有文件系统。 
#将按照fstab文件中列出的 <pass> 值的顺序检查系统。 
#传递值为0的系统将被跳过; 合格值为1的系统将首先列出,其余系统将按其合格值的升序进行检查。
fsck -A

#查看所有已配置的文件系统。 
cat /etc/fstab

#输出将类似于以下内容:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab man page.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=c3a6839b-00f1-4cf4-8b00-e61fbcdba6c0 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda7 during installation
UUID=afceabb6-a3f4-41c2-9ae6-0393d85c7c70 /home           ext4    defaults        0       2
# swap was on /dev/sda6 during installation
UUID=c6ca8b8f-0b46-4c06-a934-a9dd3525faa7 none            swap    sw              0       0
#/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0


#查看可以使用fsck检查的所有文件系统。 文件系统将作为fsck.*文件的扩展名出现;
#fsck.cramfs  fsck.ext3  fsck.ext4dev  fsck.minix  fsck.nfs      fsck.reiserfs  fsck.xfs
fsck.ext2    fsck.ext4  fsck.jfs      fsck.msdos  fsck.reiser4  fsck.vfat

ls /sbin/fsck.*

检查 /dev/sda2 中是否有错误,但不要尝试修复它们; 而是将任何错误打印到标准输出。

fsck -n /dev/sda2

通常,fsck 将跳过文件系统中标记为 “干净” 的部分---意味着所有挂起的写入均已成功完成。 -f(“强制”)选项指定 fsck 应该检查文件系统的某些部分,即使它们不是“脏的”。 结果是效率较低,但检查更为彻底。

fsck -f /dev/sda2

此命令将检查软盘设备 /dev/fd0 上的 ext2 文件系统。

fsck -t ext2 /dev/fd0

fsck 命令扩展阅读:




fsck 命令评论