Linux基础命令---fsck

fsck

检查或者修复指定的文件系统,可以是设备名、挂载点,还可以是一个ext2的label,或者是一个UUID。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

      fsck [选项]  –t  systype device

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

 

2、选项列表


选项


说明


-s


检查的序列。如果有多个文件系统需要检查,那么按照顺序来操作。注意:e2fsck(8)默认以交互模式运行。要使e2fsck(8)在非交互式模式下运行,必须指定-p或-a选项,如果希望自动更正错误,则必须指定-n选项。


-t fslist


指定要检查的文件系统的类型。当指定-A标志时,只检查与fslist匹配的文件系统。fslist参数是以逗号分隔的文件系统和选项说明符列表。这个逗号分隔的列表中的所有文件系统都可能以否定操作符“no”或“!”作为前缀,该操作符要求只检查fslist中未列出的文件系统。如果fslist中的所有文件系统都不以否定操作符作为前缀,那么将只检查fslist中列出的文件系统。

选项说明符可能包含在逗号分隔的fslist中。它们必须具有“opts=s-option”的格式。如果存在选项说明符,那么只有在“/etc/fstat”的挂载选项字段中包含s-option的文件系统才会被检查。如果选项说明符以否定操作符为前缀,那么只有那些没有fs-option的文件系统才会被选中。在它们的挂载选项字段“/etc/ffstab中”将被检查。例如,如果“opts=ro”出现在fslist中,那么只会检查“/etc/fstab”中列出的带有ro选项的文件系统。

为了兼容Mandrake发行版,它的引导脚本依赖于对fsck程序的未经授权的ui更改,如果在fslist中找到了一个文件系统类型的循环,就会将它视为将opts=loop指定为-t选项的参数。

通常,文件系统类型是通过在“/etc/fstab”文件中搜索文件并使用相应的条目来推断的。如果无法推断该类型,并且只有一个文件系统作为-t选项的参数,fsck将使用指定的文件系统类型。如果该类型不可用,则使用默认的文件系统类型(当前Ext 2)。


-A


遍历“/etc/fstab”文件,并尝试在一次运行中检查所有文件系统。此选项通常来自“/etc/rc”系统初始化文件,而不是用于检查单个文件系统的多个命令。除非指定了-P选项(见下文),否则将首先检查根文件系统。之后,将按照“/etc/fstab”文件中fs_passno(第六个)字段指定的顺序签入文件系统。跳过fs_passno值为0的文件系统,将检查fs_passno值大于零的文件系统。如果有多个文件系统具有相同的通行号,fsck将尝试并行地检查它们,尽管它将避免在同一个物理磁盘上运行多个文件系统检查。

fsck不与任何其他设备并行检查堆叠设备。因此,在“/etc/fstab“文件中非常常见的配置是将根文件系统设置为fs_passno值为1,并将所有其他文件系统设置为fs_passno值为2。如果由于某种原因需要避免多个文件系统检查并行运行,则选择不使用此配置。例如,如果有问题的机器内存不足,因此过多的分页会引起关注。

fsck通常不会在调用文件系统的检查器之前检查设备是否实际存在。因此,如果文件系统特定的检查器返回致命错误,则不存在的设备可能导致系统在引导期间进入文件系统修复模式。“/etc/fstab”挂载选项不会失败,可以让fsck跳过不存在的设备。fsck还跳过具有特殊文件系统类型AUTO的不存在设备。


-C [fs]


显示检查的进度。显示支持这些文件系统检查程序的完成/进度条(目前只用于ext 2和ext 3)。Fsck将管理文件系统检查器,以便它们中一次只显示一个进度条。gui前端可以指定文件描述符fd,在这种情况下,进度条信息将发送到该文件描述符。


-M


不要检查已安装的文件系统,并返回安装文件系统的退出代码0。


-N


不执行检查操作,只是演示一下


-P


设置-A标志时,与其他文件系统并行检查根文件系统。这不是世界上最安全的事情,因为如果根文件系统怀疑e2fsck(8)可执行文件可能被破坏了!这个选项主要是为那些不希望将根文件系统重新划分为小型和紧凑(这是真正正确的解决方案)的系统管理员提供的。


-R


当使用-a标志检查所有文件系统时,跳过根文件系统


-T


启动时不要显示标题


-V


显示执行过程


fs-specific-options


fsck不理解的选项被传递给特定于文件系统的检查器。这些参数不能使用参数,因为fsck无法正确猜测哪些参数可以选择选项,哪些参数不能。后面的选项和参数被视为要传递给文件系统特定检查器的文件系统特定选项。

请注意,fsck的设计并不是为了将任意复杂的选项传递给特定于文件系统的检查器。如果您正在做一些复杂的事情,请直接执行特定于文件系统的检查程序。如果您传递fsck一些非常复杂的选项和参数,并且它没有按照您的预期执行,那么就不要将它报告为bug。你几乎肯定在做一些不该用fsck做的事。

不同文件系统特定fsck的选项没有标准化。如果有疑问,请查阅文件系统特定检查器的手册页。虽然没有保证,但大多数文件系统检查程序都支持下列选项


-a


自动修复文件系统。请注意e2fsck(8)只支持向后兼容。此选项映射到e2fsck的-p选项,与某些文件系统检查器支持的-a选项不同,该选项是安全的。


-n


对于某些特定于文件系统的检查程序,-n选项将导致fs特定的fsck避免试图修复任何问题,但只需将此类问题报告给stdout。然而,并不是所有特定于文件系统的检查程序都是如此。特别是,如果给定该选项,fsck.reiserfs(8)将不会报告任何损坏。fsck.minix(8)根本不支持-n选项。


-r


以交互方式修复文件系统(请求确认)。注意:如果多个fsck并行运行,使用此选项通常是个坏主意。还请注意,这是e2fsck的默认行为;它仅出于向后兼容性的原因支持此选项。


-y


对于某些特定于文件系统的检查程序,-y选项将导致fs特定的fsck总是试图自动修复任何检测到的文件系统损坏。有时专家可能能够更好地手动驱动fsck。请注意,并非所有特定于文件系统的检查程序都实现了此选项。特别是fsck.minix(8)和fsck.lamfs(8)不支持-y选项。

3、说明

如果命令行上没有指定任何文件系统,并且没有指定-A选项,fsck将默认为串行地检查/etc/fstat中的文件系统。fsck指令可以有以下的返回值:

0,没有错误。

1,文件系统错误更正。

2,系统应该重启。

4,系统错误没有更正。

8,操作错误。

16,语法错误。

32,用户取消fsck。

128,共享库错误。

检查多个文件系统时返回的退出代码是所检查的每个文件系统的退出代码的逐位OR。

实际上,fsck只是linux下可用的各种文件系统检查器(fsck.fstype)的前端。文件系统特定的检查器首先在/sbin中搜索,然后在/etc/fs和/etc中搜索,最后在PATH环境变量中列出的目录中搜索。

4、环境变量

fsck的执行收到以下环境变量的影响:

1)FSCK_FORCE_ALL_PARALLEL,如果设置了此环境变量,fsck将尝试并行运行所有指定的文件系统,而不管文件系统是否位于同一设备上。(这对于RAID系统或高端存储系统(如IBM或EMC等公司销售的存储系统)非常有用。)请注意,fs_passno值仍被使用。

2)FSCK_MAX_INST,这个环境变量将限制一次运行的文件系统检查器的最大数量。这允许具有大量磁盘的配置避免fsck一次启动过多的文件系统检查器,这可能会使系统上可用的CPU和内存资源超载。为零,则可以生成无限数量的进程。这是当前的默认情况,但未来版本的fsck可能会尝试根据从操作系统收集会计数据自动确定可以运行多少个文件系统检查。

3)PATH,PATH环境变量用于查找文件系统检查器,首先搜索一组系统目录:/sbin、/sbin/fs.d、/sbin/fs、/etc/fs和/etc/fs,然后搜索路径环境中的一组目录。

4)FSTAB_FILE,这个环境变量允许系统管理员覆盖/etc/fstab文件的标准位置,对于正在测试fsck的开发人员也很有用。

5、实例

检查sdb4


 [[email protected] ~]# [[email protected] ~]# fsck -t swap /dev/sdb4

fsck from util-linux-ng 2.17.2

e2fsck 1.41.12 (17-May-2010)

/dev/sdb4 was not cleanly unmounted, 强制检查.

Resize inode not valid.  重建<y>?

 

第一步检查inode,,和大小

第二步检查目录结构

3检查目录连接性

Pass 4: Checking reference counts

5检查簇概要信息

Free s count wrong for  #0 (7854, counted=7855).

处理<y>? 

 

Free s count wrong (15722, counted=15723).

处理<y>? 

 

/dev/sdb4: ***** 文件系统已修改*****

/dev/sdb4: 11/4096 files (0.0% non-contiguous), 661/16384 blocks

[[email protected] ~]# 

原文地址:https://www.cnblogs.com/wj78080458/p/9898224.html

时间: 2024-10-08 12:49:57

Linux基础命令---fsck的相关文章

菜鸟的成长记录--linux基础命令

以下是我学习时接触的命令,后续会慢慢添加 1.tty:查看终端类型 虚拟终端:/dev/tty# 伪终端:/dev/pts/# 控制台:/dev/console 串行终端:/dev/ttyS# 2.startx:启动图形界面 3.ifconfig:查看网卡信息 4.cd:进入用户主目录 cd ~:进入用户主目录 cd ~USERNAME:进入其他用户主目录 cd -:在前一个目录和当前目录来回切换 cd .:当前目录 cd ..:上一级目录 cd ../..:返回上两级目录 cd !$:把上一个

Linux基础命令:(2)有关磁盘空间的命令

2.有关磁盘空间的命令:(1)mount命令:mount命令的功能是挂上文件系统,mount命令必须由root用户执行. mount -t 设备类型 存放目录 或者 mount IP地址://所提供的目录 存放目录.必须在存放之前建好这个目录.(2)umount命令:是卸下已挂上的文件系统,在关闭系统前应该把所有挂载上的系统卸载.(3)df命令:df命令用来检查各磁盘分区和已挂上来的文件系统的磁盘空间.即检查硬盘的使用量.df -a(4)du命令:主要是显示文件目录或大小.(5)fsck命令:检

Linux基础命令(之一)详解

Linux基础命令(之一)详解 学习linux的朋友都知道,系统大多数操作都是命令行的操作方式,当然如今也有图形化界面的操作方式,但是多数情况下仍然使用命令的操作模式,所以命令的作用与用法是成为学好.学会Linux系统的必备前提,也是重点之一,所以今天来聊一聊一些基础命令的用法与其作用. 1.系统关机或重启命令(小白也必须要会的) shutdown (win 系统也有) 常用参数:shutdown -h (halt) 直接关机(关闭电源) shutdown -h  now[+10]    现在关

linux基础命令——tree

Linux基础命令--tree 编辑文章 -d :只显示目录,不显示其目录下的子文件 -L level:显示第几级 图片描述 显示以rc开头的 备份: 创建多级目录: -v:可以看过程

第九天:Linux基础命令(二)与 C编译过程

一:Linux基础命令:   1.find 命令 查找文件 如 find / -name hello    查找根目录下已hello命名的文件.   2.grep命令 字符串匹配 如 grep "lucy" * -R 递归查找文件中含有“lucy”字符串的文件   3.du命令 查看文件所占容量   4 . >   重定向 如 ls > savels     重定向ls的标准输出从屏幕到savels文件 5 . >>    附加 如 ls >> sa

运维基础--Linux基础命令

 Linux基础命令 刚接触Linux,往往会有一个印象就是Linux操作起来比我们熟悉的windows难,其实不然,只要了解熟知了Linux的CLI界面诸多的命令的用法就能使很多在GUI界面下的操作变的无比简单:以下是Linux使用中的几个基础命令: 1.cd: cd [-L|-P] [dir]  改变shell 的工作目录,默认是用户的家目录: cd DIR:切换到DIR目录: cd:   切换至当前用户的家目录: cd - :将工作目录切换至上一次的工作目录:两个目录之间的来回切换! 原理

常用Linux基础命令

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行.2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文件 eg:

linux基础命令--笔记

linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .help pwd   help  内置命令可用man cd  等查看. 4  . ls==list 查看目录列表 5 .  mkdir   == make directory  创建目录.例如:mkdir /date -p 递归创建目录 :mk 6  .  cd      ==change directo

LINUX基础命令的使用以及vim的简单命令

一 命令提示符说明 [登录用户@主机名 工作目录]# 二 Linux命令格式 命令字  [选项]  [参数1] [参数2] [ ] 表示里面内容可有可无 选项:如果是单个字符,用-               如:# ls -l 如果是一个单词,用--              如:# ls --color 多个单个字符的选项可以合并一个-   如:# ls -l -h = # ls –lh 三 基本命令及其说明 1. 基本命令 # uname -r//查询内核 # cat /etc/redha