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
相关文章:
Linux系列讲解 —— 【fsck】检查并修复Linux文件系统
当文件系统出现损坏时,例如文件无法查看,删除等,可以使用 fsck(File System Consistency Check)进行修复。但是需要注意fsck在修复时,如果检查出某个文件有问题,可能会向用户请求删除。所以&…...
gitlab突然提示我要输入密码了。
用了很长时间的一个gitlab库,今天提交代码的时候突然提示我输入密码了,并且用户还是gitxx.xx.xx.xx的,瞬间懵逼。 想想原因,可能是因为我不久前设置了本地对另外一个git库的远程访问,用的是ssh,操作过程中可…...
业务测试常见问题(一)
如何多维度的分析一个需求? 功能维度:需求中所描述的功能是否实现,与用户的需求是否一致,是否完整符合用户的需求等。 安全性维度:是否有安全漏洞,是否存在未授权访问漏洞等,以保证系统的安全性…...
IntelliJ IDEA失焦自动重启服务的解决方法
IDEA 热部署特性 热部署,即应用正属于运行状态时,我们对应用源码进行了修改更新,在不重新启动应用的情况下,可以能够自动的把更新的内容重新进行编译并部署到服务器上,使修改立即生效。 现象 在使用 IntelliJ IDEA运…...
终端准入控制系统,保障企业内网安全的关键防线
随着网络技术的不断发展,企业面临的安全威胁也越来越多。终端作为承载企业业务的媒介,对内网资产安全有着重要影响。确保内网终端(如PC、BYOD、IoT等)能够得到统一管理,对保护内网安全很有必要。终端准入控制作为一种有…...
mysql-执行计划
1. 执行计划表概述 id相同表示加载表的顺序是从上到下。 id不同id值越大,优先级越高,越先被执行。id有相同,也有不同,同时存在。 id相同的可以认为是一组,从上往下顺序执行;在所有的组中,id的值…...
金蝶云星空和旺店通·企业奇门接口打通对接实战
金蝶云星空和旺店通企业奇门接口打通对接实战 接入系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在…...
在服务器上使用nginx改变前端项目请求的url
location /app-dev {rewrite ^/app-dev/(.*) /$1 break;proxy_pass http://152.136.36.251:9999;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; } location /请求后缀 { rewrite ^/app-dev/(.*) /$1 break; proxy_pass 想要的请求后端的url; …...
【学习笔记】莫比乌斯反演
退役OIer回来受虐啦 一些定义 μ ( x ) { 1 x > 1 ( − 1 ) n x ∏ i 1 n P i 0 o t h e r w i s e \mu(x) \begin{cases} 1 & x > 1 \\ (-1)^n & x \prod _ {i1} ^ {n} P_{i}\\ 0 & otherwise \end{cases} μ(x)⎩ ⎨ ⎧1(−1)n0x>1x∏i1nPi…...
一款构建Python命令行应用的开源库
1 简介 当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令…...
10-Node.js模块化
01.模块化简介 目标 了解模块化概念和好处,以及 CommonJS 标准语法导出和导入 讲解 在 Node.js 中每个文件都被当做是一个独立的模块,模块内定义的变量和函数都是独立作用域的,因为 Node.js 在执行模块代码时,将使用如下所示的…...
数字IC前端学习笔记:数字乘法器的优化设计(Dadda Tree乘法器)
相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 华莱士树仍然是一种比较规则的结构(这使得可以方便地生成树的结构),这导致了它所使用的全加器和半加器个数不是最少的ÿ…...
计算机专业毕业设计项目推荐14-文档编辑平台(SpringBoot+Vue+Mysql)
文档编辑平台(SpringBootVueMysql) **介绍****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式,在编写的…...
【读书后台管理系统】—后端框架搭建(二)
【读书后台管理系统】—后端框架搭建(二) 一、 Node 简介 Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等 Chrome …...
【DLoopDetector(C++)】DBow2词袋模型loop close学习
0.前言 最近读了两篇论文,论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法,自己运行demo测试一下 对应论文介绍:Bags of Binary Words for Fast Place Recognition in Image Sequences 开源项目Github地址:https://gi…...
什么是CAS机制?
CAS和Synchronized的区别是什么?适合什么样的场景?有什么样的优点和缺点? 示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。 public class ThreadTest {private static int count 0;public static …...
Java多态详解
下面讲解一下Java中的多态机制,力求用最通俗易懂的语言,最精炼的话语,最生动的例子,深入浅出Java多态,帮助读者轻松掌握这个知识点。 什么是多态? 多态是指同一种行为具有多个不同表现形式的能力。 多态…...
Android中简单实现Spinner的数据绑定
Android中简单实现Spinner的数据绑定 然后声明对象实例并加入到arraylist里面,并设置spinner的适配器 Spinner Sp (Spinner).............// List<CItem > lst new ArrayList<CItem>(); CItem ct new CItem ("1","测试"); lst.Add(ct)…...
【版本控制工具二】Git 和 Gitee 建立联系
文章目录 前言一、Git 和 Gitee 建立联系1.1 任意目录下,打开 git bash 命令行,输入以下命令生成公钥1.2 配置SSH公钥1.3 进行全局配置 二、其它相关Git指令2.1 常用指令2.2 指令操作可能出现的问题 三、补充3.1 **为什么要先commit,然后pull…...
最新AI智能创作系统ChatGPT商业源码+详细图文搭建部署教程+AI绘画系统
一、AI系统介绍 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&am…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
