文章目录
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。
一般来说,当计算机关机时,每个已挂载存储都将经历一次卸载,以确保所有排队的数据被写入,并保证介质上文件系统结构的完整性。
20230518 文件系统挂载
文件系统挂载是指将一个文件系统连接到Linux文件系统树中的一个目录上,使得该文件系统中的文件和目录可以在该目录下访问。在Linux系统中,所有的文件和目录都是以树形结构组织的,根目录为
“/”
,所有的文件和目录都是从根目录开始的。当一个文件系统被挂载到一个目录上时,该目录就成为了该文件系统的挂载点。在该目录下创建的文件和目录都会被存储在该文件系统中,而不是存储在原来的文件系统中。如果该文件系统中已经存在同名的文件或目录,则会覆盖原来的文件或目录。
文件系统挂载是Linux系统中非常重要的一个概念,它使得Linux系统可以同时使用多个不同的文件系统,并且可以将它们组合成一个整体。例如,在Linux系统中,可以将多个硬盘或分区挂载到同一个目录下,形成一个大的文件系统,从而扩展文件系统的容量和性能。
在Linux系统中,可以使用
mount
命令来挂载文件系统,使用umount
命令来卸载文件系统。需要注意的是,在卸载文件系统之前,应该确保该文件系统中的所有文件和目录都已经关闭,否则可能会导致数据丢失或文件系统损坏。
Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。
如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。
挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
纠正一个误区,并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。
举个例子,我们想通过命令行访问某个 U 盘中的数据,图 1 所示为 U 盘文件目录结构和 Linux 系统中的文件目录结构。
图 1 U 盘和 Linux 系统文件目录结构
图 1 中可以看到,目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载。
接下来,我们在根目录下新建一个目录 /sdb-u
,通过挂载命令将 U 盘文件系统挂载到此目录,挂载效果如图 2 所示。
图 2 文件系统挂载
可以看到,U 盘文件系统已经成为 Linux 文件系统目录的一部分,此时访问 /sdb-u/
就等同于访问 U 盘。
前面讲过,根目录下的 /dev/
目录文件负责所有的硬件设备文件,事实上,当 U 盘插入 Linux 后,系统也确实会给 U 盘分配一个目录文件(比如 sdb1),就位于 /dev/
目录下(/dev/sdb1
),但无法通过 /dev/sdb1/
直接访问 U 盘数据,访问此目录只会提供给你此设备的一些基本信息(比如容量)。
总之,Linux 系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。