Linux 磁盘管理基本概念

  1. Linux的磁盘管理体系和Windows有很大的区别,在Windows下经常会遇到“分区”这个概念,在Linux中一般不叫“分区”而叫“挂载点”。“挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的Linux中,用户是绝对看到不到C盘、D盘这样的概念的,只能看到以文件夹形式存在的“挂载点”。<br />文件/etc/fstab详细的记录了Ubuntu中硬盘分区的情况,如图所示:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12927549/1617176568127-ae79110d-e4d9-4667-a371-52e149208e45.png#align=left&display=inline&height=195&margin=%5Bobject%20Object%5D&name=image.png&originHeight=195&originWidth=557&size=71217&status=done&style=none&width=557)<br /> 在图中有一行“/was on/dev/sda1 during installation”,意思是根目录“/”是在/dev/sda1上的,其中“/”是挂载点,“/dev/sda1”就是我们装Ubuntu系统的硬盘。由于我们的系统是安装在虚拟机中的,因此图中没有出现实际的硬盘。可以通过如下命令查看当前系统中的磁盘: <br /> ls /dev/sd* <br />上述命令就是打印出所有以/dev/sd开头的设备文件,如图所示:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12927549/1617176604317-7243e210-73aa-4557-a5e6-c6ce92b37f11.png#align=left&display=inline&height=42&margin=%5Bobject%20Object%5D&name=image.png&originHeight=42&originWidth=274&size=5857&status=done&style=none&width=274)<br /> 在上图中有四个磁盘设备文件,其中sd表示是SATA硬盘或者其它外部设备,最后面的数字表示该硬盘上的第n个分区,比如/dev/sda1就表示磁盘sda上的第一个分区。上图中是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上U盘、SD卡啥的就可能会出现/dev/sdb,/dev/sdc等等。如果你的U盘有两个分区那么可能就会出现/dev/sdb1、dev/sdb2这样的设备文件。

磁盘管理命令

(1) 磁盘分区命令 fdisk

如果要对某个磁盘进行分区,可以使用命令fdisk,命令格如下:
fdisk [参数]
主要参数如下:
-b<分区大小> 指定每个分区的大小。
-l 列出指定设备的分区表。
-s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。
-u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。
比如我要对U盘进行分区,千万不要对自己装Ubuntu系统进行分区!可以使用如下命令:
sudo fdisk /dev/sdb
结果如图所示:
image.png
在上图中提示我们输入“m”可以查看帮助,因为fdisk还有一些字命令,通过输入“m”可以查看都有哪些子命令,如图所示:

image.pngimage.png
图中常用的命令如下:
p 显示现有的分区
n 建立新分区
t 更改分区类型
d 删除现有的分区
a 更改分区启动标志
w 对分区的更改写入到硬盘或者存储器中。
q 不保存退出。
由于我的U盘里面还有有一些重要的文件,所以不能现在不能进行分区,所以现在就不演示fdisk的分区操作了,后面我们讲解裸机例程的时候需要将可执行的bin文件烧写到SD卡中,烧写到SD卡之前需要对SD卡进行分区,到时候在详细讲解如何使用fdisk命令对磁盘进行分区。

(2)格式化命令 mkfs

使用命令fdisk创建好一个分区以后,我们需要对其格式化,也就是在这个分区上创建一个文件系统,Linux下的格式化命令为mkfs,命令格式如下:
mkfs [参数] [-t 文件系统类型] [分区名称]
主要参数如下:
fs 指定建立文件系统时的参数
-V 显示版本信息和简要的使用方法。
-v 显示版本信息和详细的使用方法。
比如我们要格式化U盘的分区/dev/sdb1为FAT格式,那么就可以使用如下命令:
mkfs –t vfat /dev/sdb1

(3)挂载分区命令mount

  1. 我们创建好分区并且格式化以后肯定是要使用硬盘或者U盘的,那么如何访问磁盘呢?比如我的U盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1会发现根本就不是我们要的结果。我们需要将/dev/sdb1这个分区挂载到一个文件夹中,然后通过这个文件访问U盘,磁盘挂载命令为mount,命令格式如下: <br /> mount [参数] -t [类型] [设备名称] [目的文件夹] <br />命令主要参数有: <br />**-V **显示程序版本。 <br />**-h **显示辅助信息。 <br />**-v **显示执行过程详细信息。 <br />**-o ro ** 只读模式挂载。 <br />**-o rw ** 读写模式挂载。 <br />**-s-r ** 等于-o ro <br />**-w ** 等于-o rw <br />挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到“/mnt”目录下,在“/mnt”下创建一个tmp文件夹,然后将U盘的/dev/sdb1分区挂载到/mnt/tmp文件夹里面。

(4) 卸载命令 umount

当我们不在需要访问已经挂载的U盘,可以通过umount将其从卸载点卸除,命令格式如下:
umount [参数] -t [文件系统类型] [设备名称]
-a 卸载/etc/mtab 中的所有文件系统。
-h 显示帮助。
-n 卸载时不要将信息存入到/etc/mtab 文件中
-r 如果无法成功卸载,则尝试以只读的方式重新挂载。
-t<文件系统类型> 仅卸载选项中指定的文件系统。