Linux系列讲解 —— 【fsck】检查并修复Linux文件系统

当文件系统出现损坏时,例如文件无法查看,删除等,可以使用 fsck(File System Consistency Check)进行修复。但是需要注意fsck在修复时,如果检查出某个文件有问题,可能会向用户请求删除。所以,建议其他方法都尝试后(例如将分区卸载后重新挂载)再使用fsck进行修复。

目录

  • 1. fsck基本用法
  • 2. fsck的参数解释
    • -? 或 --help:显示帮助信息
    • --version:显示版本信息
    • -A:检查所有文件系统
    • -C:显示进度条
    • -f:强制检查没有问题的磁盘
    • -l (小写L) :锁定设备以确保独占访问
    • -M:不检查已挂臷的文件系统
    • -N:不执行,只显示将要执行的操作
    • -n:交互式检查中对所有询问都回答“no”
    • -y:交互式检查中对所有询问都回答“yes”
    • -p 或 -a:自动修复文件系统,不进行提示
    • -P:并行检查文件系统,包括根文件系统
    • -R:跳过根文件系统;只在指定 '-A' 时有用
    • -T:启动时不显示标题
    • -t <fslist>:指定要检查的文件系统类型
    • -V:显示更详细的输出信息
    • -r [fd]:在最后输出统计信息

1. fsck基本用法

语法:

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

2. fsck的参数解释

-? 或 --help:显示帮助信息

在这里插入图片描述


--version:显示版本信息

在这里插入图片描述


-A:检查所有文件系统

(1) 遍历/etc/fstab文件,并尝试在一次运行中检查所有文件系统,这个大写的A代表ALL的意思。

(2) 检查顺序按照/etc/fstab第六个参数<pass>,从小到大依次执行(pass值为0的文件系统将会跳过检查)。如果有多个文件系统有相同的pass号,并且它们不在同一个磁盘,fsck将尝试并行检查它们。但是,如果设置了环境变量FSCK_FORCE_ALL_PARALLEL,那么fsck会强制并行处理相同pass号的文件系统,无论它们是否在同一个磁盘上。
在这里插入图片描述

(3) 根文件系统( 挂载点一定是 / )是系统引导过程的基础,因此其在/etc/fstab文件中pass值设置为1,从而作为最优先检查的文件系统,而其他文件系统的pass值则为1以后的数字。

(4) 手册上说这个选项会在/etc/rc初始化文件系统的时候一次性检查/etc/fstab中的所有文件系统,但是我没有在/etc/rc中找到相关的命令。


-C:显示进度条

显示每一步的执行进度条 ( 目前仅针对ext[234] ) 。
在这里插入图片描述


-f:强制检查没有问题的磁盘

fsck检查后会有记录,所以再次马上检查磁盘时,会直接报告上次检查结果。如果想再让fsck进行磁盘检查,此时可以使用这个选项进行强制检查。


-l (小写L) :锁定设备以确保独占访问

锁定设备以确保在检查期间没有其他程序会尝试使用该分区。


-M:不检查已挂臷的文件系统

如果检查的文件系统已经挂载,则返回错误代码0。


-N:不执行,只显示将要执行的操作

打印出更具体的fsck命令内容,而不执行。比如下面fsck命令,其实真正调用的是fsck.ext4。
在这里插入图片描述


-n:交互式检查中对所有询问都回答“no”

检查的时候发现问题,只报告错误,而不做处理。下图红框的no是自动输入跳过的。
在这里插入图片描述


-y:交互式检查中对所有询问都回答“yes”

-n选项正好相反。


-p 或 -a:自动修复文件系统,不进行提示

遇到错误自动执行修复,不会询问用户。


-P:并行检查文件系统,包括根文件系统

搭配 -A 选项时,根文件系统将与其他文件系统并行检查。


-R:跳过根文件系统;只在指定 ‘-A’ 时有用

上面提到指定 -A 选项后会检查fstab中所有的文件系统,如果再加入 -R 则可以跳过根文件系统的检查。


-T:启动时不显示标题

加入 -T 后,则下面的红框内容不显示。
在这里插入图片描述


-t :指定要检查的文件系统类型

(1) 只检查fslist类型的文件系统,所以在指定 -A 时,只检查与fslist匹配的文件系统。

(2) fslist可以是以英文逗号分隔的列表,从而指定多个文件系统类型。fslist列表中的所有类型都可以使用否定运算符’no’或’!'作为前缀,从而只检查fslist中未列出类型的文件系统。

(3) fslist也可以指定文件系统的选项(参看/etc/fstab中第四列选项<options>),从而检查匹配这些选项的文件系统,例如:fsck -t opts=ro。同样的,fslist列表中的所有选项也可以使用否定运算符’no’或’!'作为前缀,从而只检查fslist中未列出选项的文件系统。

(4) 在fsck的说明文档中,有提到 “ 如果在 fslist 中发现 loop 类型,则将其视为 opts=loop 选项进行处理”,这个了解一下就好。

(5) 使用 fsck 指定单个分区时,如果没有指定 -t 选项,则会自动在/etc/fstab中找寻该文件系统对应的类型。若没有找到,则使用默认的文件系统类型(此版man手册中说明是ext2类型)。


-V:显示更详细的输出信息

显示更详细的输出信息,包括上面 -N 能输出的内容。


-r [fd]:在最后输出统计信息

在这里插入图片描述

status: fsck运行完后返回的错误码
rss: 最大运行集大小(KB)
real: 经过的所有时钟时间
user: fsck运行所使用的用户时间
sys: 系统CPU时间

可以看到-r选项还可以后接文件描述符fd,man fsck对其解释如下:

GUI front-ends may specify a file descriptor fd, in which case the progress bar information will be sent to that 
file descriptor in a machine parsable format.  For example:
/dev/sda1 0 92828 4.002804 2.677592 0.86186

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

延迟队列

KEYS命令和SCAN命令都可以用于在Redis中查找匹配指定模式的键名&#xff0c;但它们之间有以下区别&#xff1a; 1. 阻塞 vs 非阻塞&#xff1a;KEYS命令是一个阻塞操作&#xff0c;它会遍历整个键空间来查找与给定模式匹配的键名。在执行KEYS命令期间&#xff0c;Redis服务器会…

顺序表存储一元多项式,并实现两个多项式相加运算(C++,无序输入)

采用顺序表存储一元多项式&#xff0c;并实现两个多项式相加运算&#xff0c;要求&#xff1a; &#xff08;1&#xff09;创建存储多项式的有序表&#xff08;按无序输入&#xff09;ha和hb&#xff1b; &#xff08;2&#xff09;求ha和hb相加产生多项式hc。 &#xff08;…

罗彻斯特大学探讨ChatGPT等人工智能将如何影响高等教育

人工智能聊天机器人ChatGPT持续引起互联网用户的热议&#xff0c;它能够回答关于各个领域的问题&#xff0c;创作歌曲、食谱&#xff0c;起草电子邮件等等。罗切斯特的教职员工和管理人员就他们如何处理 ChatGPT 以及它如何影响未来的教学和学习提出了他们的想法。 “让这项技…

【Linux】 grep命令使用

grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。 grep命令 -Linux手册页 语法 grep [选项] pattern [files] ls命令常用选项及作用 执行令 grep --help 执行命令结果 参数 -i&#xff1a;忽略大小写进行匹配。-v&#xff1a;反…

【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++

vscode 的宏录制功能 —— 差强人意 安装vscode开源扩展&#xff1a;https://github.com/C10udburst/macros-vscode.git 可开启类似于 notetepad 的宏录制与回放功能&#xff01;比如录制字符串替换&#xff0c;能记录操作之时&#xff0c;替换对话框中的文本&#xff01;&am…

Gooxi国鑫搭载第四代英特尔至强可扩展处理器系列服务器焕新登场

由算力驱动的数字经济渗透到了百行千业&#xff0c;在驱动传统经济转型升级和效能优化的同时&#xff0c;也大幅度增加了各行业数据处理能力的需求 。 面对千行百业加速创新应用和AIGC时代像潮水一样奔涌算力需求&#xff0c;得益于第四代英特尔至强可扩展处理器以及基于Gooxi最…

Flink---12、状态后端(HashMapStateBackend/RocksDB)、如何选择正确的状态后端

星光下的赶路人star的个人主页 大鹏一日同风起&#xff0c;扶摇直上九万里 文章目录 1、状态后端&#xff08;State Backends&#xff09;1.1 状态后端的分类&#xff08;HashMapStateBackend/RocksDB&#xff09;1.2 如何选择正确的状态后端1.3 状态后端的配置 1、状态后端&am…

深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Access注入---偏移注入 | Mysql注入---DNS注入 | MSSQL---反弹注入

伪静态---假的静态页面判断页面是否为静态&#xff1a;document.lastModified偏移注入使用场景&#xff1a;遇到知道表明&#xff0c;但不知道字段名的情况下使用表.* >&#xff08;核心&#xff09;information_schema.tables&#xff08;去information_schema库里面选中ta…

使用DNS查询Web服务器IP地址

浏览器并不具备访问网络的功能&#xff0c;其最终是通过操作系统实现的&#xff0c;委托操作系统访问服务器时提供的并不是浏览器里面输入的域名而是ip地址&#xff0c;因此第一步需要将域名转换为对应的ip地址 域名&#xff1a;www.baidu.com ip地址是一串数字 tcp/ip的网络结…

tcpdump(二)命令行参数讲解(一)

一 tcpdump实战详解 1、我们做抓包,一般都需要指定条件,保证对系统的CPU、内存、磁盘资源不会产生过大的响应备注&#xff1a; 遇到过tcpdump持续抓包导致系统挂了2、条件&#xff1a;1) tcpdump的 基础命令选项参数2) 真正的 过滤条件 ① 参数学习思路 思路&#xff1a;…

小黑开始了拉歌训练,第一次进入部室馆,被通知要去当主持人心里有些紧张的leetcode之旅:337. 打家劫舍 III

小黑代码&#xff08;小黑卡在了bug中&#xff0c;上午一步步探索做出&#xff0c;非常NB!!!&#xff09; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left lef…