Linux中磁盘的管理(格式化、分区、挂载)

Linux中磁盘的管理(格式化、分区、挂载)Linux 磁盘的管理 分区 格式化 挂载 一 认识磁盘 1 什么是磁盘 磁盘是一种计算机的外部存储器设备 由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成 用来存储用户的信息 这种信息可以反复地被读取和改写 绝大多数磁盘被永久封存在一个密封的盒子里 2 磁盘运行机理 简单来说就是多个盘片之间靠主轴连接 电机带动主轴做旋转运动 通过多个磁头臂的摇摆和磁盘的旋转 磁头就可以在磁盘旋转的过程

Linux中磁盘的管理(分区、格式化、挂载)

一、认识磁盘

1、什么是磁盘:

磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写。绝大多数磁盘被永久封存在一个密封的盒子里。

Linux中磁盘的管理(格式化、分区、挂载)Linux中磁盘的管理(格式化、分区、挂载)

2、磁盘运行机理:

简单来说就是多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中就读取到磁盘中存储的各种数据

3、磁盘的扇区、磁道、柱面:

4、磁盘的分类:

二、磁盘的分区

1、为什么要分区

(1)易于管理和使用:

比如说我们把磁盘分了sda1、sda2、sda3、sda4盘,我们假设sda1盘为系统盘,其他的比如说游戏、办公、软件盘,这样我们要重新分哪个区就直接在对应的盘分就可以了,不需要整块磁盘进行分区。根据用途我们也能较快的去使用相应的磁盘。

(2)有利于数据的安全:

通过分区可以降低数据损失的风险。出现硬盘坏道、错误操作、重装系统都有可能造成数据损失,如果分区了,那么我们就可以将损失最小化。

(3)节约寻找文件的时间:

这个我觉得跟第一条比较像,但是这里所说的寻找文件的时间,是指电脑搜索文件的时间。分区以后,电脑搜索文件时只需要在相对应的分区搜索就可以了,没必要进行全盘搜索。大大节省了寻找文件的时间。

2、扩展分区:

3、磁盘的分区:

(2)然后使用命令:fdisk /dev/sda  让硬盘进入分区模式
在这里插入图片描述
此时命令栏提示输入m来寻求帮助,那么我们输入m,来看一下都有哪些选项。
在这里插入图片描述
上图中:我将画横线的标记为经常会用到的,然后我们来解释一下其中的一些选项。



n 添加一个新分区 q 不保存就退出 p 打印分区表 m 打印选项菜单
d 删除一个分区 w 保存退出 t 改变系统id号

(3)开始创建分区,因此我们输入n,然后回车如下图。
在这里插入图片描述
我们看到黄颜色线条上显示的是3个主要分区,0个扩展分区,还有1个闲置分区。
绿色光标前的default e表示的是默认为扩展分区。我们除了直接回车进入下一步,也可以输入e进入下一步。


此时光标所在的位置表示选择输入起始位置,也就是起始扇区。当然,我们不用输入,直接回车就好进入下一步。它就是为了能够将后面的所有可用扇区充分的利用上,而默认选择可用扇区的起始最小扇区。
在这里插入图片描述
回车后进入下一步,如下:
此时光标所在的位置表示选择输入终了位置,也就是结束扇区。当然,我们不用输入,直接回车就可以把上面剩余的全部空间充分的利用上。
在这里插入图片描述
回车后如下:
在这里插入图片描述
到这里我们创建的扩展分区已经创建好了,我们在命令行界面输入p查看一下分区情况:
在这里插入图片描述
黄颜色框框所框取的信息就是我们创建的扩展分区,以及他的起始,终了扇区位置信息;块信息;id编号信息,分区信息。








有了扩展分区,那么我们才可以创建逻辑分区。
我们在命令行输入n添加一个新分区,此时添加的分区就是逻辑分区。
在这里插入图片描述
这时它询问设置逻辑分区的起始扇区,为了充分利用,我们选择默认值,然后回车。
在这里插入图片描述
到这里它在询问扇区结束位置,说白了就是我们在设置逻辑分区大小。输入格式为:+扇区 或者 +数值大小{单位}
然后我们输入:+1G  表示设置大小为的1G的逻辑空间。回车之后就完成了新的分区的设置。
紧接着我们输入p打印分区表查看分区信息。
在这里插入图片描述
上图中黄颜色的线上的文字为提示信息:提示分区5大小为1GB且已经创建。
此时不要着急,我们一定要记住要保存,在命令行输入w保存分区信息。我们通过w保存并退出后,使用fdisk -l  可以查看到磁盘的分区信息。
但是当你在格式化的时候,有可能找不到这个分区。这是因为Linux没有把分区信息读到内核来,我们需要输入partprobe这个命令,来使我们内核重读一下我们的分区信息。
在这里插入图片描述
到这里我们已经成功地创建了一个1G大小的分区,但是我们能用吗?不能,因为我们要对磁盘进行格式化后才可以进行数据的存储。












三、磁盘的格式化

1、认识格式化:

2、Linux系统下的文件类型:

Linux下的文件类型有ext2、ext3、ext4、xfs等等,我们可以使用命令:mkfs. 然后用按TABTAB来查看都有哪些文件类型。
在这里插入图片描述

3、磁盘的格式化:

到这里已经格式化好的sda5能用吗?答案是不能,要想用这个磁盘我们还需要挂载。

四、磁盘的挂载

1、认识挂载:

(1)Linux的宗旨是一切皆文件,从以上我们也看到。我们存储的所有文件都在sda3下存放着,sda3也就是我们的根。那我们要在sda5中写入文件时,首先要sda5要与sda3先建立一个联系,这个联系就是一个目录。建立联系的过程我们叫做挂载
(2)当我们访问sda3底下的这个目录的时候,实际上我们访问的才是sda5这个设备文件。这个目录相当于一个访问sda5的入口,可以理解为一个接口,有了这个接口才可以访问这个磁盘。

2、磁盘的挂载:

(1)挂载点目录:我们将磁盘切到根目录, mediamnt 这两个目录被叫做挂载点目录。除此之外,我们也可以自己创建一个目录作为一个挂载点目录,
在这里插入图片描述
(2)临时挂载:将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。因此当我们需要挂载目录时,最好新建一个空文件夹来作为挂在点目录。(重启后失效
①首先在根下创建一个test目录用于测试,在test目录中创建一个文件file,和一个目录directory。
在这里插入图片描述
②然后我们挂载sda5,使用命令:mount /dev/sda5 /test   意思就是说将/dev/sda5挂载到test目录中
然后我们刷新一下切出去,重新进到这个目录。(当然你们也可以不刷新直接使用ll命令看看会出现什么)
在这里插入图片描述
③现在我们在test目录下的操作就相当于在sda5中进行操作,我们在里面写一个文件吧。
在这里插入图片描述
④按照上一步,我们的colour文件是在sda5中,那么我们将挂载的sda5给卸载掉。我们再进入test查看里面的文件有什么。注意卸载时一定要退出目录,不然无法进行卸载。卸载的命令:umount /dev/sda5或者是umount /test
在这里插入图片描述
⑤同理根据第③步的操作,我们在sda5里面写入一个文件。那么我们这次将这个sda5直接挂载到新建的一个目录test2。同理我们应该能想到,挂载后这个空文件夹也能够读到colour这个文件。(当然也要刷新一下)
在这里插入图片描述
到这里就能说明colour这个文件是属于磁盘里的而非目录里的。
现在我们回到开头,我们之前说过,我们这种挂载方式为临时挂载,因此你在命令行中输入reboot重启Linux后,进入test2中是看不到任何文件的。这里不再演示。
(3)怎样查看到当前系统上所有磁盘的挂载信息?
①使用mount命令,但读起来较费劲,黄色线条可以告诉我们在哪里挂载的,磁盘的格式类型,读写权限,等其他信息。
在这里插入图片描述
②使用命令df -h这更易于我们对磁盘的信息的了解。包括文件的大小,已经使用的分区大小,总共可用分区的大小,使用率,以及挂载的位置。(推荐)
在这里插入图片描述
注意:我们当时为sda5分配了1G的大小,但由于格式化后,要存储一些记录格式化的类型的信息。所以会占用一些空间,导致实际空间会比我们预先分配的空间要小。
(4)命令:blkid:查看对应分区的UUID(编号)。UUID唯一标识每一个分区,防止错误的挂载。除此之外,还会显示分区的类型。(建议先复制一下sda5的UUID,一会儿会用到)
在这里插入图片描述
(5)永久挂载:使用永久挂载,就意味着它开机会自动挂载。
①使用vim编辑 /etc/fstab  在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载。
在这里插入图片描述
②在将光标移到UUID行,在命令模式下按o键进入插入模式,同时换行。将(4)步骤中复制好的sda5的UUID编号,粘贴进来。/test挂载点目录,ext3文件系统类型,第一个0表示不备份,第二个0表示不检查。注意格式一定要正确,可以不用对齐,最好的判断依据是依照颜色。
写完之后保存退出。
在这里插入图片描述
Ⅰ写完之后,你使用mount命令,是看不到test挂载信息的,只有开机时才会读取那个文件。你只需reboot然后打开相应的目录去查找我们之前创建的colour文件是否存在来判断自己是否挂载成功。





























Ⅱ如果你着急的就想查看test的挂载分区存储的信息。由于内核还没有读取这个命令,我们使用mount -a 这个命令来让内核读取这个文件。然后用mount | grep /test来过滤信息,查看是否挂上。要么直接省去上一步,直接到test目录下去找colour文件是否存在。(如果失败了不要着急,很有可能你没有重新进这个区哦)
==================================================================================================
文末彩蛋:小伙伴们有没有发现当test目录被挂载后,该目录下多出了一个目录lost+found。
lost+found:顾名思义,丢失然后找到。它是一个特殊的目录,用来存放文件系统错误导致文件丢失的目录,因此我们的一些数据是可以通过它来找到的。这个目录是在分区的根目录上,就是我们挂载的分区。但这不是每个文件系统都有的目录,ext2/3就有这个目录,有些就没有这个目录。


本节所用到的主要Linux的命令总结

命令 该命令的注释
fdisk -l 查看当前磁盘的分区状况
fdisk /dev/sda 让硬盘进入分区模式,所分的磁盘在 /dev 下的 sda 这块磁盘
partprobe 将分区信息读到内核中
mkfs.ext2 /dev/sda5 /dev下的 sda5 磁盘格式化为 ext2 的格式类型
mount /dev/sda5/test /dev/sda5 挂载到 test
umount /dev/sda5或者umount /test 卸载已经挂载的 /dev/sda5 磁盘也就是作为挂载接口的test目录
mount 查看当前磁盘的详细挂载信息
df -h 查看磁盘的信息(推荐)
blkid 查看对应分区的UUID(编号)

好了本文到此就结束了,文章多多少少可能会出现些错误,也希望大家能帮助我发现文章的一些错误,提出宝贵的建议。欢迎大家能在留言区评论留言哦,感谢阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200969.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:13
下一篇 2026年3月20日 上午10:14


相关推荐

  • Springboot @Validated和@Valid的区别 及使用

    Springboot @Validated和@Valid的区别 及使用概述 Valid 是使用 Hibernateval 的时候使用 Validated 是只用 SpringValida 校验机制使用说明 java 的 JSR303 声明了 Valid 这类接口 而 Hibernate validator 对其进行了实现 Validation 对 Valid 进行了二次封装 在使用上并没有区别 但在分组 注解位置 嵌套验证等功能上有所不同 这里主要就这

    2026年2月18日
    2
  • 基于ie内核,浏览器自带flash插件「建议收藏」

    e内核自带flash方案要比webkit复杂Ie的flash插件是个ocx,也是com组件。WindowsCom组件的加载过程如下:1、通过组件的DllRegisterServer注册com组件,会在注册表生成com组件的路径,guid,progid,threadtype等等2、Client通过guid查找到注册表中com组件的地址,loadlibrary加载这个组件,调用c

    2022年4月10日
    238
  • .NET开源代码

    .NET开源代码.NETReferenceSource

    2022年7月15日
    22
  • Sql分页查询方式

    Sql分页查询方式Sql的三种分页查询方式先说好吧,查询的数据排序,有两个地方(1、分页前的排序。2、查询到当前页数据后的排序)第一种1、先查询当前页码之前的所有数据idselecttop((当前页数-1)*每页数据条数)idfrom表名2、再查询所有数据的前几条,但是id不在之前查出来的数据中selecttop每页数据条数*from表名whereidnotin( selecttop((当前页数-1)*每页数据条数)idfrom表名 )3、查询出当前页面的所有数据后,再

    2022年6月26日
    70
  • 层序遍历总结「建议收藏」

    层序遍历总结「建议收藏」以LeetCode102作为例子:题目描述思路描述层序遍历需要用到的数据结构是队列。需要考虑的问题是:如何标识当前节点的层数。有以下三种方法:方法1将每个节点表示为一个二元组(node,level),这种方法效率太低,不考虑。感兴趣可以参考方法2遍历完一层节点后,在队列中插入一个标记节点NULL,这个标记节点没有具体意义,只是标识某一层已经遍历结束。这种方法的缺点在于,假如想要在层序遍历过程中,有元素为NULL,那么标记节点就会出现混淆。这种方法的代码我经常用,如下:c

    2025年6月14日
    5
  • mysql和mysql数据库的区别_sql数据库怎么用

    mysql和mysql数据库的区别_sql数据库怎么用什么是SQL?SQL是一种用于操作数据库的语言。SQL是用于所有数据库的基本语言。不同数据库之间存在较小的语法更改,但基本的SQL语法基本保持不变。SQL是StructuredQueryLanguage的简短缩写。根据ANSI(美国国家标准协会),SQL是操作关系数据库管理系统的标准语言。SQL用于访问,更新和操作数据库中的数据。它的设计允许管理RDBMS中的数据,例如MYSQL…

    2022年10月2日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号