Linux fsck命令教程:如何检查和修复你的文件系统(附实例详解和注意事项)

Linux fsck命令介绍

fsck,全称File System Consistency Check,主要用于检查和修复Linux文件系统的不一致和错误。该工具用于解决潜在的文件系统问题。fsck可以为你提供检查和修复一切文件系统中的问题的功能,包括一些潜在的磁盘错误等。

Linux fsck命令适用的Linux版本

fsck命令在所有主流的Linux发行版,如Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等上都是默认安装的,属于Linux系统中的基础命令,无需另行安装。

[linux@bashcommandnotfound.cn ~]$ fsck -V

不过对于一些基于轻量级Linux的系统,比如一些Docker容器,你可能需要使用包管理器进行安装,具体命令如下:

# For Debian/Ubuntu
[linux@bashcommandnotfound.cn ~]$ apt-get update 
[linux@bashcommandnotfound.cn ~]$ apt-get install e2fsprogs# For CentOS7/RHEL7
[linux@bashcommandnotfound.cn ~]$ yum update 
[linux@bashcommandnotfound.cn ~]$ yum install e2fsprogs# For CentOS8/RHEL8
[linux@bashcommandnotfound.cn ~]$ dnf update 
[linux@bashcommandnotfound.cn ~]$ dnf install e2fsprogs

Linux fsck命令的基本语法

语法格式如下:

fsck [options] [filesystem ...] 

options 是fsck命令的选项,filesystem 是需要检查和修复的文件系统挂载点或设备名。

Linux fsck命令的常用选项或参数说明

下表列出了fsck命令的常用选项:

选项描述
-A检查/etc/fstab定义的所有文件系统
-N仅显示执行结果,但并不实际检查
-R检查除根文件系统以外的所有系统
-T在执行检查时,不显示标题信息
-V显示详细信息

Linux fsck命令实例详解

示例中将演示fsck命令如何在实际中被使用。

实例1:在开启系统时自动运行fsck检查

在Linux系统中,fsck工具在系统启动时会自动检查文件系统。不过,我们可以手动触发这种行为,以在下一次系统启动时运行fsck进行检查。可以通过创建一个叫做forcefsck的空文件来触发这样的检查:

[linux@bashcommandnotfound.cn ~]$ touch /forcefsck

以上命令在 / 目录下创建了一个名为 forcefsck 的空文件。在系统重新启动时,fsck 将会看到这个文件并进行文件系统的检查。

实例2:检查所有的文件系统

[linux@bashcommandnotfound.cn ~]$ fsck -A

-A选项让fsck检查/etc/fstab定义的所有文件系统。

实例3:检查指定的文件系统

如果你只想检查一个特定的文件系统,可以在fsck命令后面加上设备名,如下所示:

[linux@bashcommandnotfound.cn ~]$ fsck /dev/sda1

在上述例子中,fsck将检查 /dev/sda1 设备对应的文件系统。

实例4:在检查过程中显示详细信息

如果你想在文件系统检查过程中查看更详细的信息,可以使用-V选项,如下:

[linux@bashcommandnotfound.cn ~]$ fsck -V /dev/sda1

这将会在检查 /dev/sda1 设备时显示详细的信息。

实例5:进行交互式修复

默认情况下,fsck会在重大问题发生时提供交互式提示。如果你希望对所有发现的问题进行交互式修复,不仅仅是重大问题,可以使用-r选项,如下:

[linux@bashcommandnotfound.cn ~]$ fsck -r /dev/sda1

这将使fsck在对/dev/sda1进行检查时,对所有发现的问题提供交互式提示,让用户决定是否修复。

实例6:自动修复发现的问题

如果你不想进行任何交互,而期望fsck自动修复所有发现的问题,可以使用-y选项,如下:

[linux@bashcommandnotfound.cn ~]$ fsck -y /dev/sda1

这将使fsck在检查/dev/sda1设备时,自动修复所有发现的问题。

实例7:检查多个文件系统

如果你希望一次检查多个文件系统,可以在fsck命令后面列出所有的设备名,如下:

[linux@bashcommandnotfound.cn ~]$ fsck /dev/sda1 /dev/sdb2

在上述例子中,fsck将依次检查/dev/sda1/dev/sdb2设备对应的文件系统。对于所有设备,fsck将采取与单个设备时相同的检查策略。

实例8:只显示不做任何操作

如果你想看到fsck检查文件系统时的输出,但不希望进行任何实际的检查,可以使用-N选项:

[linux@bashcommandnotfound.cn ~]$ fsck -N /dev/sda1

在此例子中,fsck会显示出检查 /dev/sda1 文件系统时一般会做什么,但不会进行实际的检查。

实例9:检查多个文件系统并自动修复误差

当你需要检查多个文件系统并希望建立自动修复任何发现的问题,你可以这样做:

[linux@bashcommandnotfound.cn ~]$ fsck -y /dev/sda1 /dev/sdc2 /dev/sdd3

在这个例子中,fsck会依次检查/dev/sda1/dev/sdc2/dev/sdd3这三个文件系统,并自动修复所有发现的问题。

实例10:使用-C选项进行可视化检查

-C选项将导致fsck为检查过程产生一个进度条。这个选项对于检查大型文件系统非常有用,因为你可以用它来跟踪fsck的进度。

[linux@bashcommandnotfound.cn ~]$ fsck -C /dev/sda1

在上述例子中,在检查 /dev/sda1 设备时,fsck 会显示一个进度条来表示检查的进度。

实例11: 强制检查文件系统

在某些情况下,你可能想要强制对文件系统进行检查,即使它看起来是干净的。这可以通过-f选项实现:

[linux@bashcommandnotfound.cn ~]$ fsck -f /dev/sda1

在这个例子中,fsck将强制检查 /dev/sda1,即使它看起来是干净的。

实例12: 检查并试图修复有坏块的文件系统

如果你的文件系统出现坏块,你可以使用-c选项来检查并试图修复它:

[linux@bashcommandnotfound.cn ~]$ fsck -c /dev/sda1

在上述情况下,fsck将检查 /dev/sda1上的坏块,并尝试进行修复。

实例13: 预防性读取设备上的每一块以确保它们可读

你可以使用-t选项进行预防性读取,尝试读取所有块以检查它们是否可读:

[linux@bashcommandnotfound.cn ~]$ fsck -t /dev/sda1

在这个例子中,fsck将预防性地读取 /dev/sda1 的所有块,以确认它们是否可以正常读取。

Linux fsck命令的注意事项

  • 为了避免在fsck修复过程中由于错误选择而导致的数据损坏,你可以在第一次运行fsck时加上-n-N选项。这样fsck将以只读模式运行,检查文件系统但不进行任何修复操作。
  • fsck在修复文件系统错误时可能会造成数据丢失,因此请确保对所有的重要数据做好备份。
  • fsck应该只在无法挂载文件系统,或者在系统开启时提示你运行fsck时才运行。否则,运行fsck可能会破坏文件系统并导致数据丢失。
  • 如果在使用fsck时碰到 bash: fsck: command not found 错误,说明你的系统上可能没有安装 fsck,可以根据上面给出的命令进行安装。

Linux fsck相关命令

以下是一些与 fsck 命令相关的Linux命令:

  • mkfs命令:格式化一个文件系统并交由系统管理
  • mount命令:把设备对应的目录挂载到文件系统上
  • umount命令:卸载已经挂载的文件系统
  • fdisk命令:用于磁盘分割操作
  • df命令:报告文件系统的磁盘空间使用情况
  • du命令:预估文件和目录占用的磁盘空间

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

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

相关文章

网络通信(Socket/TCP/UDP)

一、Socket 1.概念: Socket(又叫套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接协议,客户端的IP地址,客户端的端口,服务器的IP地址,服务器的端口。 一个Socket是一对IP地址…

笔试面试题——二叉树进阶(一)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、根据二叉树创建字符串1、题目讲解2、思路讲解3、代码实现 二、二叉树的分层遍历1、题目讲…

【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数

1.gets函数与puts函数 gets函数类似于scanf函数,用于读取标准输入.前面我们已经知道scanf函数在读取字符串时遇到空格就认为读取结束,所以当输入的字符串存在空格时,我们需要使用gets 函数进行读取. gets函数的格式如下: char *…

大数据导论(4)---大数据应用

文章目录 1. 在互联网中的应用1.1 推荐系统1.2 长尾理论1.3 推荐方法与模型1.4 推荐系统应用 2. 在其他领域的应用2.1 企业营销2.2 智慧交通 1. 在互联网中的应用 1.1 推荐系统 1. 推荐系统产生:  (1) 互联网的飞速发展使我们进入了信息过载的时代,搜索…

【赠书第17期】Excel高效办公:文秘与行政办公(AI版)

文章目录 前言 1 了解Excel的强大功能和工具 2 提升Excel技能的方法 3 结合AI技术提升Excel应用 4 注意事项 5 推荐图书 6 粉丝福利 前言 随着人工智能(AI)技术的快速发展,我们的工作方式也在发生深刻变革。其中,Excel 作…

使用cmake进行完成开发实践

根据这个UML图进行cmake的实践 首先按照使用vscode在wsl2中配置clangd环境-CSDN博客的内容先创建出cmake项目。 之后在项目目录中创建include和src目录。 根据UML图,首先要完成Gun类的实现。分别在include,src目录下创建头文件和源文件,写入…

vue组件扩展

Vue中如何扩展一个组件 mixins、extends、slots、composition api 1、mixins 值可以是一个混合对象数组,混合实例可以包含选项,将在extend将相同的选项合并 mixins代码: var mixin{data:{mixinData:我是mixin的data},created:function(){console.log(这是mixin的created);},…

NAT44-ED features及节点图

VPP配置SNAT,内网接口GigabitEthernet2/0/0,外网接口GigabitEthernet3/0/0,NAT之后的地址为GigabitEthernet3/0/0接口的地址。 vpp# set interface state GigabitEthernet2/0/0 up vpp# set interface state GigabitEthernet3/0/0 up vpp# v…

上位机图像处理和嵌入式模块部署(qt图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 很多人一想到图像处理,本能的第一反应就是opencv,这也没有错。但是呢,这里面还是有一个问题的,不知…

Leetcode刷题笔记题解(C++):LCR 174. 寻找二叉搜索树中的目标节点

思路:二叉搜索树的中序遍历是有序的从大到小的,故得出中序遍历的结果,即要第cnt大的数为倒数第cnt的数 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeN…

JUC并发编程-集合不安全情况以及Callable线程创建方式

6. 集合不安全 1&#xff09;List 不安全 //java.util.ConcurrentModificationException 并发修改异常&#xff01; public class ListTest {public static void main(String[] args) {List<Object> arrayList new ArrayList<>();for(int i1;i<30;i){new Thr…

​WordPress顶部管理工具栏怎么添加一二级自定义菜单?

默认情况下&#xff0c;WordPress前端和后台页面顶部都有一个“管理工具栏”&#xff0c;左侧一般就是站点名称、评论、新建&#xff0c;右侧就是您好&#xff0c;用户名称和头像。那么我们是否可以在这个管理工具栏中添加一些一二级自定义菜单呢&#xff1f; 其实&#xff0c…

力扣746. 使用最小花费爬楼梯

动态规划 思路&#xff1a; 定义 dp[i] 为到达下标 i 层的最小花费&#xff1b;则状态转移方程为&#xff1a; 第 i 层可以从第 i - 1 层爬一层或者第 i - 2 层爬两层到达&#xff1b;则 dp[i] std::min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2])初始状态&#xff1a…

编程笔记 html5cssjs 050 CSS表格2-1

编程笔记 html5&css&js 050 CSS表格2-1 一、表格边框二、全宽表格三、合并表格边框四、表格宽度和高度五、水平对齐六、垂直对齐七、表格内边距八、可悬停表格九、条状表格十、表格颜色十一、响应式表格十二、CSS 表格属性十三、练习小结 使用 CSS 可以极大地改善 HTML…

SpringSecurity+JWT前后端分离架构登录认证

目录 1. 数据库设计 2. 代码设计 登录认证过滤器 认证成功处理器AuthenticationSuccessHandler 认证失败处理器AuthenticationFailureHandler AuthenticationEntryPoint配置 AccessDeniedHandler配置 UserDetailsService配置 Token校验过滤器 登录认证过滤器接口配置…

应用层—HTTPS详解(对称加密、非对称加密、密钥……)

文章目录 HTTPS什么是 HTTPSHTTPS 如何加密HTTPS 的工作过程对称加密非对称加密 HTTPS 什么是 HTTPS HTTPS 也是一个应用层的协议。是在 HTTP 协议的基础上引入的一个加密层。 由来&#xff1a;HTTP 协议内容都是按照文本的方式明纹传输&#xff0c;这就导致在传输过程中出现…

AndroidStudio 无法打开 arb 文件

问题描述 在做Flutter国际化的时候&#xff0c;AndroidStudio突然无法打开arb文件。 原因分析&#xff1a; Android Studio 默认可能并不支持直接打开.arb文件&#xff0c;因为.arb文件通常用于Flutter的国际化资源。为了在Android Studio中编辑和查看.arb文件&#xff0c;您…

Springboot+vue的校园疫情防控系统(有报告),Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的校园疫情防控系统&#xff08;有报告&#xff09;&#xff0c;Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的校园疫情防控系统&#xff0c;采用M&#xff…

2023年12月青少年机器人技术等级考试(四级)理论综合试卷

2023年12月青少年机器人技术等级考试&#xff08;四级&#xff09;理论综合试卷 单选题 第 1 题 单选题 Arduino UNO/Nano主控板&#xff0c;当数字引脚输出信号为高电平时&#xff0c;对应的电压是 &#xff1f;&#xff08; &#xff09; A.0V B.5V C.-0.5 ~ 1.5V D.3…

Web安全-CTF中的常见命令总结

Web安全-CTF中的常见命令总结 cat命令与常用选项 cat命令用于查看文件内容&#xff0c;并且将文件内容打印到标准输出流&#xff0c;并且在不跟上文件或跟上 -时将直接读取标准输入流&#xff1a; r123localhost:~$ cat - 123test 123test如上所示&#xff0c;输入123test&a…