Linux用户磁盘管理及磁盘管理命令操作

2019-10-26 14:41发布

Linux 的磁盘管理体系和Windows 有很大的区别,在Windows 下经常会遇到“分区”这个概念,在 Linux 中一般不叫“分区”而叫“挂载点”。 “挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的 Linux 中,用户是绝对看到不到C盘、D 盘这样的概念的,只能看到以文件夹形式存在的“挂载点”.

文件/etc/fstab 详细的记录了 Ubuntu 中硬盘分区的情况,如图所示:

文件fstab

在图中有一行“/ was on /dev/sda1 during installation”,意思是根目录“/”是在/dev/sda1上的,其中“/”是挂载点,“/dev/sda1”就是我们装 Ubuntu 系统的硬盘。由于我们的系统是安装在虚拟机中的,因此图中没有出现实际的硬盘。可以通过如下命令查看当前系统中的磁盘:

 ls /dev/sd* 

上述命令就是打印出所有以/dev/sd 开头的设备文件,如图所示:

查看硬件设备文件

在图中有四个磁盘设备文件,其中 sd 表示是 SATA 硬盘或者其它外部设备,最后面的数字表示该硬盘上的第 n 个分区,比如/dev/sda1 就表示磁盘 sda 上的第一个分区。图中都是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上 U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc 等等。如果你的 U 盘有两个分区那么可能就会出现/dev/sdb1、dev/sdb2 这样的设备文件。比如我现在插入我的 U 盘,插入 U 盘会提示 U 盘是接到主机还是虚拟机,如图所示:

U盘连接选择

设置好图以后,点击“确定”按钮 U 盘就会自动连接到虚拟机中,也就是连接到Ubuntu 系统中,我们再次使用命令“ls /dev/sd*”来查看当前的“/dev/sd*”设备文件,如图所示:

插入U盘后的设备文件

从图中可以看出,相比多了/dev/sdb 和/dev/sdb1 这两个文件,其中/dev/sdb就是U 盘文件,/dev/sdb1 表示U 盘的第一个分区,因为我的U 盘就一个分区。

我们学习以下跟磁盘操作有关的命令,这些命令如下:

1、磁盘分区命令 fdisk

如果要对某个磁盘进行分区,可以使用命令 fdisk,命令格如下:

fdisk [参数]

主要参数如下:

-b<分区大小> 指定每个分区的大小。

-l 列出指定设备的分区表。

-s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。

-u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。

比如我要对 U 盘进行分区,千万不要对自己装 Ubuntu 系统进行分区!!!可以使用如下命令:

 sudo fdisk /dev/sdb 

结果如图所示:

U盘分区界面

在图中提示我们输入“m”可以查看帮助,因为 fdisk 还有一些字命令,通过输入“m”可以查看都有哪些子命令,如图所示:

fdisk命令的子命令

图中常用的命令如下:

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

我们创建好分区并且格式化以后肯定是要使用硬盘或者U 盘的,那么如何访问磁盘呢?比如我的U 盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1 会发现根本就不是我们要的结果。我们需要将/dev/sdb1 这个分区挂载到一个文件夹中,然后通过这个文件访问 U 盘,磁盘挂载命令为mount,命令格式如下:

 mount [参数] -t [类型] [设备名称] [目的文件夹] 

命令主要参数有:

-V 显示程序版本。

-h 显示辅助信息。

-v 显示执行过程详细信息。

-o ro 只读模式挂载。

-o rw 读写模式挂载。

-s-r 等于-o ro。

-w 等于-o rw。

挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到“/mnt”目录下,在“/mnt”下创建一个 tmp 文件夹,然后将U 盘的/dev/sdb1 分区挂载到/mnt/tmp 文件夹里面,操作如图所示:

挂载U盘

在图中我们将 U 盘以 fat 格式挂载到目录/mnt/tmp 中,然后我们就可以通过访问/mnt/tmp 来访问U 盘了。

4、卸载命令 umount

当我们不在需要访问已经挂载的 U 盘,可以通过 umount 将其从卸载点卸除,命令格式如下:

 umount [参数] -t [文件系统类型] [设备名称] 

-a 卸载/etc/mtab 中的所有文件系统。

-h 显示帮助。

-n 卸载时不要将信息存入到/etc/mtab 文件中

-r 如果无法成功卸载,泽尝试以只读的方式重新挂载。

-t<文件系统类型> 仅卸载选项中指定的文件系统。

-v 显示执行过程。

上面我们将 U 盘挂载到了文件夹/mnt/tmp 里面,这里我们使用命令 umount 将其卸载掉,操作如图所示:

卸载U盘

在图中,我们使用命令umount 卸载了U 盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。