当前位置: 首页 > news >正文

【ShuQiHere】Linux 系统中的硬盘管理详解:命令与技巧

【ShuQiHere】 💽

在 Linux 系统中,硬盘管理不仅仅是存储数据的操作,更涉及系统性能、数据安全和稳定性的优化。无论你是系统管理员、开发者还是 Linux 爱好者,掌握硬盘管理的基础操作都非常有用。本文将从硬盘健康检查、分区管理、挂载与卸载、文件系统检查等多个方面,带你深入了解 Linux 硬盘管理的常用命令。🌐


目录 📑

  1. 背景与基础概念
  2. 硬盘健康检查
  3. 硬盘分区管理
  4. 挂载和卸载硬盘
  5. 文件系统检查与修复
  6. 总结与延伸

背景与基础概念 📘

在 Linux 系统中,硬盘管理命令是系统维护和优化的重要组成部分。Linux 的文件系统结构与 Windows 不同,Linux 将所有硬盘、分区和设备整合到统一的目录结构中,这样的设计简化了设备管理,也提升了系统的灵活性。以下是常见的硬盘管理相关术语:

  • 分区(Partition):将硬盘划分成多个逻辑区域,每个区域可单独使用和格式化。
  • 文件系统(File System):定义数据存储在硬盘上的组织方式。Linux 常用的文件系统包括 ext4xfsbtrfs 等。
  • 挂载(Mount):将硬盘或分区连接到系统的目录结构,使其成为系统的一个组成部分。
  • SMART(Self-Monitoring, Analysis, and Reporting Technology):用于硬盘健康监测的技术,能够预警硬盘可能出现的故障,帮助用户提前备份数据。

硬盘健康检查 🩺

硬盘是存储数据的重要设备,定期检查硬盘健康状态可以避免数据丢失和系统故障。Linux 系统中常用的工具之一是 smartctl,它属于 smartmontools 工具包,支持大多数硬盘的 SMART 技术。

安装 smartctl

在开始使用 smartctl 之前,需要先安装 smartmontools

sudo apt-get update
sudo apt-get install smartmontools
使用 smartctl 检查硬盘健康状况
  1. 快速健康检查

    smartctl -H 命令可以快速查看硬盘的整体健康状态。执行以下命令后,你将看到硬盘是否通过了健康自检:

    sudo smartctl -H /dev/sdX
    

    结果示例:

    SMART overall-health self-assessment test result: PASSED
    

    这意味着硬盘当前状态良好。如果显示 FAILED,建议尽快备份数据并考虑更换硬盘。

  2. 查看详细健康信息

    使用 smartctl -a 命令可以获取更详细的健康信息,包括温度、错误日志和使用寿命等。这对于检测潜在问题非常有用:

    sudo smartctl -a /dev/sdX
    

    详细信息包括:

    • 温度(Temperature):温度过高可能会缩短硬盘寿命,一般保持在 40°C - 50°C 为佳。
    • 使用寿命(Percentage Used):SSD 硬盘的使用寿命百分比,值越高表示硬盘磨损越多。
    • 错误日志(Error Log Entries):显示硬盘操作中产生的错误,较多的错误可能预示硬盘故障。

    示例输出:

    Temperature: 45 Celsius
    Available Spare: 100%
    Percentage Used: 10%
    Error Information Log Entries: 5
    
  3. 运行全面健康测试

    smartctl 提供短测试(Short Test)和长测试(Long Test)两种自我测试方式。

    • 短测试:耗时较短,主要检查电气元件和机械部件的基本功能。
    • 长测试:耗时较长,全面检测磁盘表面和数据传输通道。

    执行短测试:

    sudo smartctl -t short /dev/sdX
    

    执行长测试:

    sudo smartctl -t long /dev/sdX
    

    测试完成后,可以再次运行 smartctl -a 查看测试结果。🚦


硬盘分区管理 📏

硬盘分区是创建文件系统、存储数据的基础。Linux 中常用的分区工具包括 fdiskparted,前者适用于 MBR 分区表,后者适用于 GPT 分区表。

使用 fdisk 命令进行分区

fdisk 是一个交互式工具,适合用于管理较小的硬盘。

sudo fdisk /dev/sdX

常用命令:

  • p:列出当前分区表
  • n:创建新分区
  • d:删除分区
  • w:保存并退出

分区完成后,可以使用 mkfs 命令为新分区创建文件系统,例如:

sudo mkfs.ext4 /dev/sdX1
使用 parted 命令进行分区

对于较大容量的硬盘,parted 更加适合,它支持 GPT 分区表。

sudo parted /dev/sdX

进入 parted 交互式界面后,可以执行以下命令:

  • mklabel gpt:创建新的 GPT 分区表
  • mkpart primary ext4 1MiB 100%:创建一个从 1 MiB 开始,使用 ext4 文件系统的主分区

⚠️ 注意:分区操作可能会清除硬盘上的数据,操作前务必备份重要文件。


挂载和卸载硬盘 📂

挂载(Mounting)是将分区连接到系统目录结构的过程。Linux 系统可以通过 mountumount 命令来挂载和卸载分区。

挂载分区
  1. 创建挂载点

    挂载点是系统中的一个目录,用于访问硬盘中的数据。创建一个挂载点目录,例如:

    sudo mkdir -p /mnt/mydisk
    
  2. 挂载分区

    使用 mount 命令将分区挂载到挂载点:

    sudo mount /dev/sdX1 /mnt/mydisk
    

    可以使用 df -h 查看分区是否成功挂载。

  3. 设置自动挂载

    为了在系统重启后自动挂载,可以将分区信息添加到 /etc/fstab 文件中:

    /dev/sdX1 /mnt/mydisk ext4 defaults 0 2
    
卸载分区

在分区不再需要访问时,可以使用 umount 命令将其卸载,以避免数据损坏。

sudo umount /mnt/mydisk

在移除外接硬盘或 U 盘之前,务必先卸载分区以防止数据损坏。💾


文件系统检查与修复 🔍

文件系统随着时间可能会出现碎片或错误。fsck 命令可以检查并修复文件系统错误。

使用 fsck 命令
  1. 检查文件系统

    使用 fsck 命令对未挂载的分区进行文件系统检查:

    sudo fsck /dev/sdX1
    
  2. 自动修复

    在检查时自动修复文件系统中的错误:

    sudo fsck -y /dev/sdX1
    

    警告:不要对挂载的分区运行 fsck,否则可能导致数据丢失。可以在单用户模式或从 Live CD 启动系统后运行 fsck 来检查根分区。


总结与延伸 📈

在本篇博客中,我们详细介绍了 Linux 系统中硬盘管理的常用命令和技巧,包括硬盘健康检查、分区管理、挂载与卸载、文件系统检查等。这些操作有助于系统的维护与优化,特别是在存储大量数据或运行

关键任务的环境中。

未来的文章中,我们将探讨更高级的硬盘管理主题,如 RAID 配置、LVM(Logical Volume Manager,逻辑卷管理)和加密分区等。希望这篇博客能为你提供实用的参考,并帮助你更好地掌控 Linux 系统中的硬盘管理!💪 如果你有任何问题或经验分享,欢迎在评论区交流!💬

相关文章:

【ShuQiHere】Linux 系统中的硬盘管理详解:命令与技巧

【ShuQiHere】 💽 在 Linux 系统中,硬盘管理不仅仅是存储数据的操作,更涉及系统性能、数据安全和稳定性的优化。无论你是系统管理员、开发者还是 Linux 爱好者,掌握硬盘管理的基础操作都非常有用。本文将从硬盘健康检查、分区管理…...

数据结构之堆和二叉树的简介

1.树 1.1 树的概念与结构 如图所示,树是⼀种非线性的数据结构,它是由 n (n>0) 个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 …...

微信小程序上传图片添加水印

微信小程序使用wx.chooseMedia拍摄或从手机相册中选择图片并添加水印&#xff0c; 代码如下&#xff1a; // WXML代码&#xff1a;<canvas canvas-id"watermarkCanvas" style"width: {{canvasWidth}}px; height: {{canvasHeight}}px;"></canvas&…...

xshell5找不到匹配的host key算法

xshell5找不到匹配的host key算法&#xff0c;是因为电脑客户端不支持服务器的算法&#xff0c;因此需要再服务器增加算法。 下面以Ubuntu系统为例&#xff0c;修改下面的文件 sudo vim /etc/ssh/sshd_config 增加下面算法 KexAlgorithms diffie-hellman-group-exchange-…...

Linux中安装Tomcat

文章目录 一、Tomcat介绍1.1、Tomcat是什么1.2、Tomcat的工作原理1.3、Tomcat适用的场景1.4、Tomcat与Nginx、Apache比较1.4.1、优势1.4.2、劣势1.4.3、定位功能 1.5、Tomcat 的主要组件1.6、Tomcat 的主要配置文件 二、Tomcat安装2.1、查看可用的JDK2.2、安装OpenJDK 112.3、配…...

RV1126音视频学习(二)-----VI模块

文章目录 前言2.RV1126的视频输入vi模块2.1什么是VI模块2.3RV1126VI模块主要APIRK_MPI_SYS_Init()RK_MPI_VI_SetChnAttrRK_MPI_VI_EnableChnRK_S32 RK_MPI_VI_DisableChnRK_MPI_VI_StartStreamRK_MPI_SYS_GetMediaBufferRK_MPI_MB_GetPtrRK_MPI_MB_GetSizeRK_MPI_MB_ReleaseBuf…...

「C/C++」C++17 之 std::string_view 轻量级字符串视图

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

Linux内核-内核模块内核参数

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们的Linux进阶部分&#xff0c;到目前为止&#xff0c;已经讲过&#xff1a;硬件&#xff0c;日常运维&#xff0c;基础软…...

中电信翼康工程师:我在 Apache SeaTunnel 社区的贡献之旅

贡献者Github ID&#xff1a;luckyLJY 文章整理&#xff1a;曾辉 Apache SeaTunnel 作为一款强大的数据同步和转换工具&#xff0c;凭借其部署易用性、容错机制、数据源支持、性能优势、功能丰富性以及活跃的社区支持&#xff0c;成为了数据工程师们不可或缺的利器。 因其具有的…...

【ESP32S3】VSCode 开发环境搭建

ESP32S3 有多种开发方式&#xff0c;主流的有 Eclipse 和 VSCode 两种。本文来介绍一下基于 VSCode 的开发环境搭建。 VSCode 环境需要依赖于 ESP-IDF 插件&#xff0c;因此需要在 VSCode 插件市场中搜索并安装 ESP-IDF 插件&#xff1a; 安装完成后侧边栏会多出一个 ESP-IDF …...

大模型,多模态大模型面试问题基础记录24/10/24

大模型&#xff0c;多模态大模型面试问题基础记录24/10/24 问题一&#xff1a;LoRA是用在节省资源的场景下&#xff0c;那么LoRA具体是节省了内存带宽还是显存呢&#xff1f;问题二&#xff1a;假如用pytorch完成一个分类任务&#xff0c;那么具体的流程是怎么样的&#xff1f;…...

使用TimeShift备份和恢复Ubuntu Linux

您是否曾经想过如何备份和恢复您的Ubuntu或Debian系统&#xff1f;TimeShift是一个强大的备份和还原工具。TimeShift允许您创建系统快照&#xff0c;提供了一种在出现意外问题或系统故障时恢复到先前状态的简便方式。您可以使用RSYNC或BTRFS创建快照。 有了这个介绍&#xff0…...

win7现在还能用吗_哪些配置的电脑还可以安装win7系统

2024年了都&#xff0c;win7现在还能用吗&#xff1f;答案是肯定的。那么哪些配置的电脑还可以安装win7系统呢&#xff1f;下面就针对这两个问题详细分区。 win7现在还能用吗&#xff1f; Windows 7系统虽然已经停止官方支持&#xff0c;但仍然可以使用。以下是关于Windows 7系…...

基于GPT的智能客服落地实践

&#x1f4cd;前言 在日常生活中&#xff0c;「客服」这个角色几乎贯穿着我们生活的方方面面。比如&#xff0c;淘宝买东西时&#xff0c;需要客服帮你解答疑惑。快递丢失时&#xff0c;需要客服帮忙找回。报名参加培训课程时&#xff0c;需要客服帮忙解答更适合的课程…… 基…...

Sourcetree和GitLab的结合使用

一、写在前面 为什么是Sourcetree和GitLab&#xff1f;因为遇到的坑最少&#xff0c;在不用梯子的情况下&#xff0c;推送速度还可以。 这篇文章主要介绍的是&#xff0c;怎么把自己写的代码文件打包放到GitLab上去&#xff0c;方便别人下载使用&#xff0c;也方便自己在另一…...

双十一开启极速达夜派;黑神话获泰国年度最佳游戏;AI 模型可帮助识别 17000 多种疾病的候选药物....| 网易数智日报

双 11 菜鸟在北京、上海、广州、杭州等城市开启「预售极速达夜派」服务 10 月 21 日&#xff0c;菜鸟在北京、上海、广州、杭州等城市开启「预售极速达夜派」服务&#xff0c;批量大促包裹实现小时级送达。 据介绍&#xff0c;在消费者支付尾款前&#xff0c;菜鸟供应链就已经…...

深入理解JAVA虚拟机(一)

介绍JAVA虚拟机的运行时数据区域 按照物理结构来划分&#xff1a;java虚拟机主要由以下几部分构成栈、堆和程序计数器&#xff0c;其中栈又可以分为虚拟机栈VM stack 和 本地方法栈 Native Method Statck&#xff0c;堆可以划分方法区和普通的堆内存。按照逻辑划分线程私有空间…...

从Excel文件中读取数据

笔记 import openpyxl # 打开工作簿 workbookopenpyxl.load_workbook(景区天气.xlsx) # 选择要操作的工作表 sheetworkbook[景区天气] # 表格数据是二维列表&#xff0c;先遍历的是行&#xff0c;后遍历的是列 lst[] # 存储的是行数据 for row in sheet.rows:sublst[] # 存储单…...

深入剖析MySQL的索引机制及其选型

在数据库管理系统中&#xff0c;索引是一种重要的优化工具&#xff0c;用于加速数据的检索和查询处理。在MySQL中&#xff0c;合理使用索引可以显著提高数据库的性能。本文将深入探讨MySQL的索引机制&#xff0c;包括不同类型索引的优势、劣势及在实际使用中的选型策略。 1. 什…...

校园表白墙源码修复版

此校园表白墙源码基于thinkphp&#xff0c;因为时代久远有不少bug&#xff0c;经本人修复已去除大部分bug&#xff0c;添加了美化元素。 https://pan.quark.cn/s/1f9b3564c84b https://pan.baidu.com/s/1bb9vu9VV2jJoo9-GF6W3xw?pwd7293 https://caiyun.139.com/m/i?2hoTc…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...