我们在用惯了
Windows
系统后总觉得一切都是理所当然的,平时把
U
盘插入到电脑后也从来没有考虑过 Windows
系统做了哪些事情,才使得我们可以访问这个
U
盘的。接下来我们会逐一学习在 Linux
系统中挂载和卸载存储设备的方法,以便大家更好地了解
Linux
系统添加硬件设备的工作原理和流程。前面讲到,在拿到一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。“分区”和“格式化”大家以前经常听到,但“挂载”又是什么呢?在这里给您一个最简单、最贴切的解释—当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。下文逐步讲解如何使用硬盘设备,但是鉴于与挂载相关的理论比较复杂,而且很重要。
6.4.1 mount 命令
mount
命令用于挂载文件系统,格式为“
mount
文件系统 挂载目录”。
mount
命令中可用的参数及作用如表 6-3
所示。挂载是在使用硬件设备前所执行的最后一步操作。只需使用 mount 命令把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了。对于比较新的 Linux
系统来讲,一般不需要使用
-t
参数来指定文件系统的类型, Linux 系统会自动进行判断。而
mount
中的
-a
参数则厉害了,它会在执行后自动检查
/etc/fstab 文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作。
![](https://i-blog.csdnimg.cn/blog_migrate/7e5e026d7ee3dd21c54ce944667ed6a2.png)
例如,要把设备
/dev/sdb2
挂载到
/backup
目录,只需要在
mount
命令中填写设备与挂载目录参数就行,系统会自动去判断要挂载文件的类型,因此只需要执行下述命令即可:
[root@localhost ~]# mount /dev/sdb2 /backup/
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 27G 2.9G 24G 11% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 92K 1.9G 1% /dev/shm
tmpfs tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 119M 379M 24% /boot
/dev/sr0 iso9660 3.5G 3.5G 0 100% /run/media/zhangxu/RHEL-7.0 Server.x86_64
/dev/sdb2 ext4 9.8G 37M 9.2G 1% /backup
虽然按照上面的方法执行
mount 命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说我们需要每次开机后都手动挂载一下。这肯定不是我们想要的效果,如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式 “设备文件 挂载目录 格式类型 权限选项 自检 优先级”(各字段的意义见表 6-4)写入到 /etc/fstab 文件中。这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了。
![](https://i-blog.csdnimg.cn/blog_migrate/84c402d2ffdcb9490995f70ea18102ca.png)
如果想将文件系统为
ext4
的硬件设备
/dev/sdb2
在开机后自动挂载到
/backup
目录上,并保持默认权限且无需开机自检,就需要在/etc/fstab
文件中写入下面的信息,这样在系统重启后也会成功挂载。
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# cat /etc/fstab
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=6caf1e26-3168-481e-b153-8202a3852b35 /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb2 /backup ext4 defaults 0 0
6.4.2 umount 命令
umount
命令用于撤销已经挂载的设备文件,格式为“
umount [
挂载点
/
设备文件
]”。我们挂载文件系统的目的是为了使用硬件资源,而卸载文件系统就意味不再使用硬件的设备资源;相对应地,挂载操作就是把硬件设备与目录进行关联的动作,因此卸载操作只需要说明想要取消关联的设备文件或挂载目录的其中一项即可,一般不需要加其他额外的参数。我们来尝试手动卸载掉/dev/sdb2 设备文件:
[root@localhost ~]# umount /dev/sdb2