Linux爬坑:mount理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37654704/article/details/78988063

mount理解

之前曾经写过关于mount的文件系统的问题,但是理解还是不够深入,这次做过几次东西和实验之后发现mount其实基本思想很简单,只要理解清楚之后,关于mount的参数操作只是解决一些细枝末节的工作。

mount解释

讲解之前我想引入或者说明几个概念方便理解:

磁盘目录:每个磁盘之下都存在着目录,这个很好理解,你的U盘拿着到处用,但是里面的目录却不会消失,说明目录结构是存储在存储设备之中的。
逻辑根:每个分区都有一个逻辑根,我们将每个逻辑根表示为/,所有的目录结构都在 / 之下。

现在我们假设我们有三个分区,分别是sda1,sda2,sda3。
假设sda1下有4个子目录c1 、c2 、c3 、c4 ,c4下有目录d1,d2,d3。你将sda2挂载在c1目录下实质上是指你将sda2的 * /替换了c1,当系统访问c1的时候实质上是访问你的磁盘的 * / 目录。这相当于在c1下做了一次重定向,你访问c1就重定向至sda2 的 * /目录之下。这里如果你c1有文件,将无法进行显示,只有当你umount解除重定向之后才可以访问原有的文件,否则你将一直只是跳转到sda2目录结构之中。你的原有文件不会出现丢失,只是你无法链接到而已。同比sda3挂载到d3目录下是也是之中情况。

现在我们假设sda2已挂载到c1之上,sda3挂载d3之上。那么此时如果我们将sda2挂载到c4下,那按照之前所说我们在访问c4会进行重定向到sda2中,但是sda2中并没有跟sda3建立任何联系,我们也由于重定向根本无法访问到d3目录,所以此时你使用df命令,查看文件系统的时候无法查看到sda3的信息。这个如果按照我们的重定向来说确实很好理解。通过mount命令你可以看到sda3分区进行了挂载。之后如果你将sda2 umount之后再使用df命令就可以看到sda3了。综上可以看出df命令是沿着系统 / 目录向下寻找,找到所有可达之处,并将分区显示出来。mount则显示了所有的挂载信息。通过这样可以看出,如果你将一个分区不挂载到一个空目录之下,那么将会对上级分区造成空间浪费。

猜你喜欢

转载自blog.csdn.net/qq_37654704/article/details/78988063