解释一下linux中的挂载的概念?
linux下面所有的文件、目录、设备都有一个路径,这个路径永远以/开头,用/分隔,如果一个路径是另一个路径的前缀,则这两个路径有逻辑上的父子关系。但是并不是所有逻辑上的父子关系都必须要是同一个设备,决定不同路径对应到哪个设备的机制就叫做mount(挂载)。
通过mount,可以设置当前的路径与设备的对应关系。每个设备会设置一个挂载点,挂载点是一个空目录。一般来说必须有一个设备挂载在/这个根路径下面,叫做rootfs。其他挂载点可以是/tmp,/boot,/dev等等,通过在rootfs上面创建一个空目录然后用mount命令就可以将设备挂载到这个目录上。挂载之后,这个目录下的子路径,就会映射到被挂载的设备里面。
当访问一个路径时,会选择一个能最大匹配当前路径前缀的挂载点。比如说,有/var的挂载点,也有/var/run的挂载点的情况下,访问/var/run/test.pid,就会匹配到/var/run挂载点设备下面的/test.pid。同一个设备可以有多个挂载点,同一个挂载点同时只能加载一个设备。
访问非挂载点的路径的时候,按照前面所说,其实是访问最接近的一个挂载点,如果没有其他挂载点那么就是rootfs上的目录或者文件了。实际上并不只有linux支持挂载点,Windows也是一样支持的。去控制面板/管理工具/计算机管理 里面,挑一个磁盘(比如D盘),然后给它分一个新的挂载点试试,比如C:\data
需要跟我私聊加一下联系方式。。。。。 联系方式:TG;@sunlancdn,QQ;2565734151 ,微信;sunlancdn
|