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…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
