应对磁盘管理挑战:Linux磁盘分区挂载命令实践指南

news2024/11/19 2:45:57

前言

在今天的技术世界中,Linux已成为广泛使用的操作系统之一,而对于运维人员和开发人员来说,磁盘分区挂载是一个至关重要的任务。正确地管理和配置磁盘分区挂载可以极大地提升系统的性能和可靠性,同时也能确保数据的安全性。

通过阅读本文,您将学习到一些关键的Linux命令,如fdisk、mkfs、mount和umount等,这些命令是管理和配置磁盘分区挂载必不可少的工具。我们将提供简洁明了的步骤和实用示例,帮助您快速理解和掌握这些命令的用法。

无论您是初学者还是有一定Linux经验的用户,本文都将为您提供实用的技巧和指导,帮助您更好地理解和应用磁盘分区挂载命令。让我们一起深入研究,探索磁盘分区挂载的奥秘吧!

磁盘管理常用命令

fdisk

fdisk是Linux系统中常用的硬盘管理工具,主要用于创建和维护分区表。它兼容多种分区表类型,如DOS、BSD或SUN等。通过fdisk命令,用户可以对硬盘进行各种分区操作,以满足不同的存储需求。分区是将一个硬盘驱动器分成若干个逻辑驱动器,每个分区都可以被独立地格式化和使用。使用fdisk进行分区后,还需要使用其他命令(如mkfs)对分区进行格式化,才能挂载并正常使用。

查看磁盘现有分区

fdisk -l

使用fdisk /dev/sdb命令来指定你想要分区的磁盘,其中sdb是磁盘的设备名

fdisk /dev/sdb

执行fdisk /dev/sdb命令,会运行一个交互式的命令行界面:

根据提示输入m,可以查询到fdisk相关的操作选项

操作选项参数解释:

  • a:切换引导标志
  • b:编辑 BSD 磁盘标签
  • c:切换 DOS 兼容性标志
  • d:删除一个分区
  • g:创建新的空 GPT 分区表
  • G:创建一个 IRIX(SGI)分区表
  • l:列出已知的分区类型
  • m:显示此菜单
  • n:添加一个新分区
  • o:创建新的空 DOS 分区表
  • p:打印分区表
  • q:不保存更改退出
  • s:创建新的空 Sun 磁盘标签
  • t:更改分区的系统 ID
  • u:更改显示/输入单位
  • v:验证分区表
  • w:将表写入磁盘并退出
  • x:额外功能(仅供专家使用)

用的频率比较高的是d(删除一个分区)、n(添加一个新分区)、q(不保存更改退出)、w(将表写入磁盘并退出)

关于使用fdisk进行磁盘分区、挂载的任务的更详细内容可以参考这两篇文章:

《精通Linux磁盘分区的精髓:从理论到实战一网打尽-CSDN博客》

《精通Linux分区挂载的精髓:从理论到实战一网打尽-CSDN博客》

lsblk

lsblk命令是Linux系统中用于列出所有可用块设备信息的实用工具。该命令能够显示块设备(如硬盘、闪存盘、CD-ROM等)的详细信息,并展示它们之间的依赖关系,但不包括RAM盘的信息。

lsblk命令的主要特点是它提供了一个简洁而全面的设备视图,使用户能够轻松地查看和管理磁盘空间。通过lsblk命令,用户可以获取设备的名称、大小、文件系统类型、挂载点等关键信息。这些信息对于系统管理员和开发者来说非常有用,可以帮助他们更好地了解和管理系统的存储结构。

语法:

lsblk [OPTIONS] [DEVICE]

常见选项参数:

  • -a:显示所有的设备(包括空设备)。
  • -b:以字节为单位显示设备大小。
  • -d:仅显示磁盘设备而不包括分区。
  • -f:显示文件系统类型。
  • -m:输出权限信息。
  • -P:以key=value形式显示输出,便于解析。
  • -p:打印完整设备路径
  • -t:在输出结果中包含设备类型。

使用示例:

列出所有块设备的基本信息:

lsblk

显示所有块设备的详细信息,包括文件系统类型:

lsblk -f

以字节显示磁盘大小:

lsblk -b

显示指定设备(如/dev/sda)的信息:

lsblk /dev/sda

显示所有设备的基本信息,以及权限、文件系统类型、设备类型信息

lsblk -amft

从上面的输出信息中可以看出什么呢?:

  • sda 是你的第一块硬盘,总容量为20G。这个硬盘被分成两个分区:sda1 和 sda2。sda1用来存储 /boot 目录的内容,这是Linux系统启动所需要的文件,容量为1G。 sda2是一个LVM(逻辑卷管理)成员,容量为19G。 LVM2_member 表示这部分使用了LVM2(第二版逻辑卷管理器)。
  • 在 sda2 上又有两个逻辑卷: centos-root 和 centos-swap。centos-root 是 xfs 文件系统,挂载在 /,也就是根目录,容量为17G,保存整个系统的大部分文件。centos-swap是交换分区,容量为2G,用于在物理内存用尽时作为虚拟内存使用。
  • sdb 是你的第二块硬盘,总容量为5G。这个硬盘分成三个分区:sdb1、sdb5 和 sdb6。 sdb1 容量很小,只有1K, sdb5 和 sdb6 分别使用 ext4 文件系统, sdb5 挂载在 /opt/fanfu-1,容量为512M;sdb6 目前未挂载,容量509M。
  • sr0 是一个光盘设备,容量为4.4G,文件系统为 iso9660,用来读取CD/DVD光盘。

mkfs

用于在硬盘或者其他存储设备上创建文件系统,它的语法是:

mkfs [options] [-t type fs-options] device [size]

这里的 device 是指你要创建文件系统的设备名,比如 /dev/sdb6, size 用于指定设备的大小。其中,-t type 选项可以用来指定你要创建的文件系统类型,比如 ext2,ext3,ext4,xfs 等等。

举个例子,下面这个命令可以在 /dev/sdb6 这个设备上创建一个 ext4 类型的文件系统

mkfs -t ext4 /dev/sdb6 
#或者下面的写法也行 
mkfs.ext4 /dev/sdb6

需要注意的是,运行 mkfs 命令会删除目标设备上的所有数据,所以在运行 mkfs 命令之前,应该确认你已经备份了设备上的所有重要数据。

如果你希望从ext4变更为xfs,则可能需要带上-f -d参数,-f:强制创建文件系统,如果文件系统已经存在则覆盖。-d指定了 XFS 文件系统的数据区域,下面示例中-d name=/dev/sdb6 指定了要创建文件系统的设备为 /dev/sdb6。

mkfs.xfs -f /dev/sdb6 
#或者 mkfs -t 
xfs -f -d name=/dev/sdb6

当然,在已经创建过的文件系统上,再创建其他文件系统,以覆盖掉旧的,可能有会出现下面的问题:

当然,遇到问题很正常,不要慌,认真一下提示即可。按照提示需要增加-f参数即可,-f表示强制创建文件系统,如果文件系统已经存在则覆盖:

mkfs -t xfs -f /dev/sdb6

如果这时又想换回ext4,执行mkfs -t ext4 -f /dev/sdb6时,可能会遇到下面的问题:

没关系,根据提示信息,-T可以指定使用的文件系统,改一下原来的命令:去掉-f参数,-t变成-T

mkfs -T ext4 /dev/sdb6

mount

用于将文件系统挂载到指定的目录,使得文件系统中的文件可以被访问。

mount [选项] <源设备> <目标路径>
  • 选项:用于指定挂载时的各种参数和选项。
  • 源设备:指定要挂载的文件系统的设备或文件。
  • 目标路径:指定要将文件系统挂载到的目标路径。

可选参数包括但不限于以下几个常见选项:

  • -t :指定要挂载的文件系统的类型。
  • -o :指定挂载时的额外选项,以逗号分隔。
  • -n:以非递归方式挂载。
  • -L :根据卷标挂载设备。
  • -U :根据设备的 UUID 挂载。
  • -r:以只读方式挂载。
  • -w:以可写方式挂载。
  • -a:挂载 /etc/fstab 文件中列出的所有文件系统。
  • -F :指定挂载时使用的配置文件。

挂载一个 xfs 文件系统到指定的路径/opt/fanfu-2上:

mount -t xfs /dev/sdb6 /opt/fanfu-2

umount

用于卸载已挂载的文件系统。当不再需要访问某个文件系统时,可以使用此命令将其卸载。

umount 命令的语法如下:

umount [选项] <挂载点>
  • 选项:用于指定卸载时的各种参数和选项。
  • 挂载点:指定要卸载的挂载点路径。

以下是一些常见选项:

  • -f:强制卸载,即使设备忙碌也会强制卸载。
  • -l:延迟卸载,等待设备不再忙碌时再卸载。
  • -r:只读卸载,将文件系统以只读方式卸载。
  • -n:提前检查,但不实际执行卸载操作。
  • -v:显示详细的卸载信息。

卸载/dev/sdb6上的文件系统:

umount /dev/sdb6

blkid

这个命令用于快速查询每个分区的全局唯一标识符(UUID)和文件系统类型。这对于挂载和格式化操作非常有用。

blkid 命令的语法如下:

blkid [选项] [块设备...]

常见的选项包括:

  • -c :指定用于保存缓存信息的文件。
  • -p:打印信息时使用 key=value 的格式。
  • -s :指定要显示的属性。
  • -o :指定输出的格式。
  • -i:显示设备的完整信息。

显示所有块设备的信息:

blkid

显示指定块设备(例如 /dev/sdb6)的信息:

blkid /dev/sdb6

显示指定块设备的 UUID:

blkid -s UUID /dev/sdb6

df

df 命令用于显示磁盘空间的使用情况。它会列出文件系统的挂载点和可用空间、已用空间、文件系统类型等信息。

df 命令的语法如下:

df [选项] [文件或目录...]

常见的选项包括:

  • -a:显示所有文件系统,包括空文件系统。
  • -h:以人类可读的方式显示磁盘空间,例如使用 "K"、"M"、"G" 表示单位。
  • -i:显示 inode 的使用情况而不是磁盘空间的使用情况。
  • -T:显示文件系统的类型。
  • -x :排除指定的文件系统类型。
  • -t :仅显示指定的文件系统类型。

以下是一些示例使用方法:

显示所有文件系统的磁盘空间使用情况:

df

以人类可读的方式显示指定文件或目录所在文件系统的磁盘空间使用情况,如果不指定具体的目录,则显示全部:

df -h

df -h /opt/fanfu-1

显示指定文件系统类型(例如 ext4)的磁盘空间使用情况:

df -t ext4

du

du 命令用于计算目录或文件的磁盘使用情况,即显示目录或文件及其子目录或子文件的磁盘空间占用量。

du 命令的语法如下:

du [选项] [目录或文件...]

常见的选项包括:

  • -h:以人类可读的方式显示磁盘空间,例如使用 "K"、"M"、"G" 表示单位。
  • -s:仅显示指定目录或文件的总磁盘空间占用量,而不显示每个子目录或子文件的详细占用量。
  • -c:在显示每个子目录或子文件的详细占用量后,显示总计磁盘空间占用量。
  • -a:显示所有文件和目录的磁盘空间占用量,包括隐藏文件和目录。
  • -L:跟踪符号链接所指向的文件或目录的磁盘空间占用量。
  • -x:不跨越文件系统边界,即只显示指定目录或文件所在文件系统的磁盘空间占用量。

以下是一些示例使用方法:

显示指定目录(例如 /opt/fanfu-1)的磁盘空间占用量:

du /opt/fanfu-1

以人类可读的方式显示指定目录(例如 /opt/fanfu-1)的磁盘空间占用量:

du -h /opt/fanfu-1

以人类可读的方式只显示指定目录(例如 /opt/fanfu-1)的总磁盘空间占用量:

du -sh /opt/fanfu-1

显示指定目录(例如 /opt/fanfu-1)及其子目录的详细磁盘空间占用量,并显示总计:

du -h -c /opt/fanfu-1

写在最后

如果你觉得这篇文章对你有所帮助,不妨点击点赞按钮,让更多的人看到这篇优质的技术分享。同时,别忘了将这篇文章收藏起来,以备日后查阅。这样,你就能随时回顾和复习文章中的重要知识点,确保你的技术水平始终保持在最在线的水平。

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

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

相关文章

【数据结构与算法】:选择排序与快速排序

&#x1f525;个人主页&#xff1a; Quitecoder &#x1f525;专栏&#xff1a;数据结构与算法 我的博客即将同步至腾讯云开发者社区&#xff0c;邀请大家一同入驻&#xff1a;腾讯云 欢迎来到排序的第二个部分&#xff1a;选择排序与快速排序&#xff01; 目录 1.选择排序1.…

电子科技大学链时代工作室招新题C语言部分---题号E

1. 题目 这道题大概的意思是说&#xff0c;一座城市中被埋了许多雷&#xff08;用一个只含0和1的字符串表示城市&#xff0c;1代表有雷&#xff0c;0代表无雷&#xff09;。 你作为一个排雷兵&#xff0c;需要花最少的钱引爆所有的雷来使城市中不再有雷&#xff08;太逆天了&a…

分布式文件存储与数据缓存(一)| FastDFS

目录 分布式文件系统FastDFS概述_简介FastDFS特性&#xff1a;分布式文件服务提供商 FastDFS概述_核心概念trackerstorageclientgroup FastDFS概述_上传机制内部机制如下 FastDFS概述_下载机制内部机制如下 FastDFS环境搭建_Linux下载安装gcc下载安装FastDFS下载安装FastDFS依赖…

Transformer代码从零解读【Pytorch官方版本】

文章目录 1、Transformer大致有3大应用2、Transformer的整体结构图3、如何处理batch-size句子长度不一致问题4、MultiHeadAttention&#xff08;多头注意力机制&#xff09;5、前馈神经网络6、Encoder中的输入masked7、完整代码补充知识&#xff1a; 1、Transformer大致有3大应…

由浅到深认识C语言(6):变量的存储类型

该文章Github地址&#xff1a;https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.csdn…

代码随想录算法训练营第40天 | 343. 整数拆分 ,96.不同的二叉搜索树

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 343. 整数拆分 题目链接&#xff1a;https://leetcode.cn/problems/integer-break/ 思路&#xff1a; 动规五部曲&#xf…

【复现】通天星CMS 安全监控云平台 SQL注入漏洞_64

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 通天星CMSV6拥有以位置服务、无线3G/4G视频传输、云存储服务为核心的研发团队&#xff0c;专注于为定位、无线视频终端产品提供平…

sqllab第三关通关笔记

知识点&#xff1a; 通过回显的信息判断原始语句的组成猜测该语句为 select 1,2,3 from 表名 where id (输入) limit 0,1 首先通过测试判断存在什么类型的sql注入 构造id1/0 发现正常输出&#xff1b;说明是字符型的sql注入 好了&#xff0c;下面就测试有什么限制条件 构造…

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均&#xff1a; yt-1是上一时刻输出&#xff0c;xt是当前时刻输入&#xff0c;m是动量&#xff0c;不想让当前时刻输出只依赖于当前时刻的输入&#xff0c;m很大时&#xff0…

使用Laravel开发项目

如何使用Laravel框架开发项目 一、安装Laravel框架 1.在安装Laravel框架钱我们需要先查看要安装的Laravel框架版本以及版本所需要的安装运行条件。 2.配置好安装环境后再安装Laravel框架 2.1.配置安装环境 1&#xff09;PHP版本 2&#xff09;PHP OpenSSL扩展 3&#xff…

Ubuntu查看ros版本-linux查看ros版本

使用ros带的rosversion命令即可查看自己的ros版本&#xff1a; rosversion -d

C语言葵花宝典之——文件操作

前言&#xff1a; 在之前的学习中&#xff0c;我们所写的C语言程序总是在运行结束之后&#xff0c;就会自动销毁&#xff0c;那如果我们想将一个结果进行长期存储应该如何操作呢&#xff1f;这时候就需要我们用文件来操作。 目录 1、什么是文件&#xff1f; 1.1 程序文件 1.2…

C语言 之 结构体超详细总结

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分78.8)&#xff0c;分…

docker容器镜像管理

目录 一、 Docker的基本组成 二、 容器和镜像的关系 2.1 面向对象角度 2.2 从镜像容器角度 三、镜像命令 3.1 查看当前已有镜像 3.2 查看已有的全部镜像 3.3 查看镜像ID 3.4 镜像删除 四、 容器命令 4.1 下载镜像 4.2 新建和启动容器 run 4.3 交互式 4.…

【体验有奖】用 AI 画春天,函数计算搭建 Stable Diffusion WebUI

人工智能生成内容 AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;是当下备受关注的概念之一&#xff0c;是继 PGC 和 UGC 之后的新型生产方式。AIGC 技术的核心思想是利用人工智能算法生成具有一定创意和质量的内容。例如&#xff0c;根据用户的描述或…

字符分类函数(iscntrl、i是space.....)---c语言

目录 一、定义二、字符分类函数2.1 -iscntrl&#xff08;&#xff09;2.1.1定义2.1.2使用举例 2.2 -isspace&#xff08;&#xff09;2.2.1描述2.2.2使用举例 2.3-isdigit()2.3.1描述2.3.2使用举例 2.4-isxdigit()2.4.1描述 2.5-islower()2.5.1描述2.5.2使用举例 2.6-isupper()…

jenkins容器中安装python遇到问题

在Jenkins容器中安装配置Python时遇到问题 执行./configure --prefix/opt/python3/时遇到configure: error: no acceptable C compiler found in $PATH 这个问题就是缺少gcc编译环境。将gcc安装上即可&#xff1a; yum install -y gcc##前提是容器里的系统是cenos才可以&#…

专升本 C语言笔记-06 常用的3种输入输出函数

1.scanf() 与 printf() 的使用 scanf() 格式化输入数据 格式:scanf("格式控制字符串",参数地址列表) scanf("%d,%d,%d",&a,&b,&c); printf("a %d\n",a); printf("b %d\n",b); printf("c %d\n",c); 注意 注…

(网络安全)一款强大的逆向分析工具,开源!

工具介绍 Ghidra 是由美国国家安全局&#xff08;NSA&#xff09;研究部门开发的软件逆向工程&#xff08;SRE&#xff09;套件&#xff0c;用于支持网络安全任务。包括一套功能齐全的高端软件分析工具&#xff0c;使用户能够在各种平台(Windows、Mac OS和Linux)分析编译后的代…

详解VXLAN

海翎光电的小编今天为大家介绍了什么是VXLAN&#xff0c;以及VXLAN的基本概念和工作原理。 什么是VXLAN VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟扩展局域网&#xff09;&#xff0c;是由IETF定义的NVO3&#xff08;Network Virtualization ov…