ex2fsck

检查ext2、ext3、ext4文件系统,如果系统已经挂载了,那么不建议去检查,因为这样是不安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

      e2fsck  [-pacnyrdfkvtDFV]  [-b superblock]  [-B  blocksize] [-l|-L bad_blocks_file ]  [-C fd]  [-j external-journal]  [-E extended_options ]  device

设备是存储文件系统的设备文件(例如/dev/hdc 1)。

 

2、选项列表

选项

说明

-a | -p

自动修复文件系统

-b superblock

指定块大小。不要使用普通的超级块,而是使用由superblock指定的替代超级块。此选项通常在主超级块损坏时使用。备份超级块的位置取决于文件系统的块大小。对于具有1k块的文件系统,可以使用备份超级块。在块8193处找到;对于具有2k块的文件系统,在块16384处找到;对于4k块在块32768处找到。

其他备份超级块可以通过使用mke2fs程序使用-n选项打印出创建超级块的位置来确定。mke2fs的-b选项必须指定文件系统的块大小,以便打印出准确的超级块位置。

如果指定了另一个超级块,并且文件系统不是只读的,e2fsck将确保主超级块在完成文件系统检查后得到适当更新。

-B blocksize

正常情况下,e2fsck将在不同块大小下搜索超级块,以试图找到适当的块大小。在某些情况下,此搜索可能会被愚弄。此选项迫使e2fsck只尝试在特定块大小上定位超级块。如果找不到超级块,e2fsck将以致命错误结束。

-c

此选项会导致e2fsck使用badblock(8)程序对设备执行只读扫描,以查找任何坏块。如果发现任何坏块,则将它们添加到坏块inode中,以防止将它们分配给文件或目录。如果指定了该选项两次,则将使用无损读写测试完成坏块扫描。

-C fd

此选项导致e2fsck将完成信息写入指定的文件描述符,以便监视文件系统检查的进度。运行e2fsck的程序通常使用此选项。如果文件描述符号为负数,则将使用文件描述符的绝对值,而进度信息最初将被抑制。之后,可以通过向e2fsck进程发送SIGUSR 1信号来启用它。如果指定的文件描述符为0,e2fsck将在其业务进行时打印一个完成栏。这要求e2fsck在视频控制台或终端上运行。

-d

显示调试信息

-D

优化文件系统中的目录。此选项导致e2fsck尝试优化所有目录,如果文件系统支持目录索引,则通过重新索引这些目录,或者对较小目录的目录进行排序和压缩,或者使用传统的线性目录对文件系统进行排序和压缩。即使没有-D选项,e2fsck有时也可能优化几个方向。例如,如果启用目录索引,并且目录没有索引,或者索引结构被破坏并需要重建,则会受益。-D选项强制对文件系统中的所有目录进行优化。它们较小,搜索速度稍快,但实际上,您不需要使用此选项。-D选项将检测单个目录中具有重复名称的目录项,由于性能原因,e2fsck通常不强制执行。

-E extended_options

设置e2fsck扩展选项。扩展选项是逗号分隔的,可以使用等于(‘=’)号进行参数设置。

ea_ver=extended_attribute_version,在检查文件系统时,设置e2fsck所需的扩展属性块的版本。版本号可能是1或2。默认的扩展属性版本格式是2。

fragcheck,在传递1期间,为文件系统中的文件打印任何不连续块的详细报告。

discard,在进行完整的文件系统检查后,尝试丢弃空闲块和未使用的inode块。

nodiscard,不要试图丢弃空闲块和未使用的inode块。这个选项与discard选项正好相反。此设置为默认设置。

-f

强制检查

-F

在开始检查之前,清空缓冲区

-I file

指定文件中的块添加在损坏列表

-j file

设置文件系统在日志文件的路径

-k

当与-c选项相结合时,坏块列表中的任何现有坏块将被保留,而通过运行badblocks (8)发现的任何新坏块将被添加到现有的坏块列表中。

-l filename

将文件名指定的文件中所列的块号添加到坏块的列表中。此文件的格式与badblocks (8)程序生成的格式相同。请注意,块号是基于文件系统的块大小。因此,对e2fsck使用-c选项更简单、更安全,因为它将确保将正确的参数传递给badblock程序。

-L filename

将坏块列表设置为文件名指定的块列表。(此选项与-l选项相同,除非在将文件中列出的块添加到坏块列表之前清除坏块列表。)

-n

打开文件系统只读,并假设对所有问题的答案为“no”。允许非交互地使用e2fsck。此选项不能与-p或-y选项同时指定。

-p

自动修复(“preen”)文件系统。此选项将导致e2fsck自动修复任何不需要人工干预就能安全修复的文件系统问题。如果e2fsck发现可能需要系统管理员采取额外纠正措施的问题,e2fsck将打印问题的描述,然后以代码4退出。(请参阅退出代码部分。)此选项通常由系统的引导脚本使用。它不能与-n或-y选项同时指定。

-r

不执行任何操作,提供向后的兼容性

-S

交换文件系统的字节顺序

-t

打印e2fsck的时间统计信息。如果使用此选项两次,则附加的时间统计信息将按传递方式打印。

-v

显示执行的详细过程

-V

显示命令版本号,并且退出

-y

所有的交互回话都回答yes,此选项不能与-n或-p选项同时指定。

3、说明

e2fsck用于检查ext 2/ext 3/ext 4系列文件系统。对于使用日志的ext 3和ext 4文件系统,如果系统在没有任何错误的情况下被不干净地关闭,通常在日志中重播提交的事务之后,文件系统应该标记为干净。因此,对于使用日志的文件系统,e2fsck通常会重播日志并退出,除非它的超级块表明需要进一步检查。

请注意,通常在挂载的文件系统上运行e2fsck是不安全的。唯一的例外是指定了-n选项,并且没有指定-c、-l或-L选项。然而,即使这样做是安全的,如果挂载了文件系统,e2fsck打印的结果也是无效的。

4、返回值

e2fsck可以返回以下值:

    0,没有错误。

    1,文件系统错误更正。

    2,文件系统错误更正,系统应该重启。

    4,文件系统错误没有更正。

    8,操作错误。

    16,语法错误。

    32,用户取消了操作。

    128,共享库错误

5、信号

  对e2fsck发送以下信号,并产生相应的结果:

    SIGUSR1,此信号导致e2fsck开始显示完成栏或发出进度信息。(见对-C选项的讨论。)

    SIGUSR2,此信号导致e2fsck停止显示完成栏或发出进度信息。。

6、实例

以只读的方式检查sda1

[root@localhost ~]# e2fsck  -n /dev/sda1

e2fsck 1.41.12 (17-May-2010)

Warning!  /dev/sda1 is mounted.             //文件系统已经挂载,因此会有警告

Warning: skipping journal recovery because doing a read-only filesystem check.      //以只读的方式执行,不去修复

/dev/sda1: clean, 39/128016 files, 49152/512000 blocks

Linux基础命令---e2fsck的更多相关文章

  1. Linux基础命令小结(超全!!)

    Linux目录结构 1.bin 存放经常使用的指令比如ll,cp 2.sbin 系统管理员使用的系统管理指令 3.home 存放普通用户的住目录 4.root 系统管理员的用户主目录 5.boot 存 ...

  2. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  3. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  4. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  5. 2.Linux基础命令

    linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...

  6. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  7. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

  8. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  9. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

随机推荐

  1. Mybatis generator使用小记

    Mybatis generator可以使用命令行,eclipse插件和maven配置实现自动生成代码的功能,主要来看看使用eclipse插件生成代码方法. 先安装插件: maven加载mysql驱动: ...

  2. yii---解决post请求出现500错误

    在使用yii框架的时候,在发送数据请求的时候,POST请求会出现500错误,这是因为yii2开启了防御csrf的攻击机制,可去先去掉,在控制器里去掉:public $enableCsrfValidat ...

  3. 9.10Django模板

    2018-9-10 16:37:29 模板就一个 不能嵌套 模板:  http://www.cnblogs.com/liwenzhou/p/7931828.html 2018-9-10 21:23:3 ...

  4. mongodb的学习笔记一(集合和文档的增删改查)

    1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据 ...

  5. SQL Fundamentals: 数据更新及事务处理(INSERT INTO,UPDATE,DELETE,事务,锁)

    SQL Fundamentals || Oracle SQL语言 在SQL语句中,数据操作语言DML由两部分组成,查询(DQL).更新操作(增加,修改,删除). 增加数据(INSERT INTO) 数 ...

  6. CSS水平导航栏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. MySQL在linux上的rpm包方式安装方法

    1.下载上传mysql server和client rpm包: [root@faspdev mnt]# ls MySQL-client-5.5.53-1.el6.x86_64.rpm MySQL-se ...

  8. 网络解析(一):LeNet-5详解

    https://cuijiahua.com/blog/2018/01/dl_3.html 一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Docu ...

  9. 【Git 使用笔记】第一部分:安装git 和 使用git

    第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修 ...

  10. 敌兵布阵---hud1166(线段树或者树状数组模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 线段树中对某一点的值进行改变: #include<iostream> #includ ...