购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.5 挂载

挂载(Mount)是Linux中非常重要的一个概念,它用于挂载Linux下的存储设备。例如Linux下使用硬盘、U盘、光盘或移动硬盘等,都要用到mount。由于mount涉及分区和目录之间的关系,再加上Windows中并未涉及此概念,对于初学者而言,会稍有一点陌生和难理解。因此,本节就对比Windows和Linux两者存储设备的使用区别,来讲解挂载的概念。

1.Windows下的目录结构是以分区为导向

Windows的目录结构如图2-21所示,有C盘、D盘和E盘这3个分区(Partition),每个分区上可以创建不同的文件系统,例如Fat32或NTFS,然后每个分区的文件系统上再创建目录。如果换一台计算机,它的分区不同,那么Windows下目录结构也会不同。当插入U盘或光盘时,对应的分区也会在这一级目录显示。因此说Windows下的目录结构是以 分区为导向 的。

图2-21 Windows目录结构图

2.Linux下的目录结构是以目录为导向

而Linux下的目录结构则看不到分区,只有统一的目录结构,如下所示。不管当前计算机的分区情况是怎样的,Linux的目录结构都是一样的。因此说Linux的目录结构是以 目录本身为导向 的。

那么问题就来了,Linux根目录/是存储在哪呢?它总归要有一个存储的介质。使用df -h命令来查看,结果如下所示,根目录/和/dev/mapper/cl-root是关联在一起的,/dev/mapper/cl-root在Linux中称为逻辑卷(Logic Volume)设备,它的底层是由硬盘分区组成,这里也可以把它理解成硬盘分区,并称之为根分区(root分区)。因此,Linux是一定要有一个根分区的,在根分区上存储了Linux的目录结构。

那么Linux下其他的分区如何使用呢?df -h显示了其他分区的使用情况。如下所示,/dev/sda1是硬盘sda的第一个分区,该分区同 /boot相关联(本质上是/dev/sda1上的文件系统同 /boot关联),/boot目录下存储的就是/dev/sda1的内容,向 /boot写入文件,就会写入/dev/sda1的文件系统中。

3.理解mount

Linux系统启动之初,/boot并未同 /dev/sda1相关联,而是同 /dev/mapper/cl-root相关联的,后来初始化时,才使用mount操作将/dev/sda1同 /boot关联起来。因此,所谓 mount 就是 将文件系统同目录关联起来的一种操作

关联的目录(如/boot)称之为 挂载点(Mount Point) 。这样,在一个统一的目录结构下,使用mount就可以将各个分区(对应各种存储设备)与不同的目录关联起来,从而形成一个以 目录为导向 的存储系统。

下面通过具体操作和说明,来更好地理解mount。

(1)查看/boot及对应分区

1)使用ls命令查看 /boot的内容,如下所示。

2)上述命令执行后,所显示的文件和目录,其实都是位于/dev/sda1分区上的。

(2)重新挂载/boot

1)再使用umount,来解除 /dev/sda1同 /boot之间的关联关系,命令如下。

2)再次查看 /boot的内容,命令如下,可以看到之前 /boot下的那些文件和目录都不见了,这是因为此时不是/dev/sda1同 /boot相关联了,而是/dev/mapper/cl-root同 /boot相关联了。

(3)再次挂载/boot

1)使用mount,再次将 /dev/sda1同 /boot关联起来,命令如下。

2)再次查看/boot的内容,命令如下,就又可以看到之前的目录和文件了。其实,将/dev/sda1挂载到其他目录,例如/mnt,ls该目录看到的内容是完全相同的,因为都是/dev/sda1上的内容。

如果要实现分区自动挂载,可以编辑/etc/fstab,Linux启动后将自动挂载fstab中设置的分区。 dzhIrxcx9nXQNv4sa4Luqj/s4DGQF89DeI9brv8i2nA8Sk5Q4gR2bf0rPgILl7QJ

点击中间区域
呼出菜单
上一章
目录
下一章
×