Linux挂载原理详解

1、概念
linux系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中 。
在Linux看来,任何硬件设备也都是文件,它们各有自己的一套文件系统 。
当在Linux系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用 。
那么,这里的合二为一的过程我们称之为"挂载" 。
挂载:指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件 。
注意:挂载目录最好是空目录 。
这里并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录 。
2、举例
通过命令行访问某个U盘中的数据
下图所示:
U盘文件目录结构
Linux 系统中的文件目录结构

Linux挂载原理详解

文章插图
 
由上图可得:目前U盘和Linux系统文件分属两个文件系统,需要将两个文件系统进行挂载 。
我们才可以在Linux中访问U盘文件 。
我们新建一个目录/mountDir,通过挂载命令(mount)将U盘文件系统挂载到此目录
mount /dev/sdb4 /mountDir
如下图所示:
Linux挂载原理详解

文章插图
 
由上图可得:U盘文件系统已经成为Linux文件系统目录的一部分,此时通过访问挂载目录/mountDir就如同访问U盘 。
3、补充
前面讲过,根目录下的/dev/目录文件负责所有的硬件设备文件 。
事实上,当U盘插入Linux后,系统也确实会给U盘分配一个目录文件(比如:sdb4) 。
位于/dev/sdb4,但是无法通过/dev/sdb4/直接访问U盘数据 。
我们只要执行mount操作后就可以访问U盘数据了 。
总之,Linux系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载 。

【Linux挂载原理详解】


    推荐阅读