什么是挂载?mount 的用处在哪?
-
Windows 下,mount 挂载,就是给磁盘分区提供一个盘符(C、D、E...)。比如插入 U 盘后系统自动分配给了它 I: 盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载 unmount。
-
Linux 下,不像 Windows 可以有 C、D、E,多个目录,Linux 只有一个根目录 /。在装系统时,我们分配给 Linux 的所有区都在 / 下的某个位置,比如 /home 等等。
-
插入新硬盘,分了新磁盘区 sdb1。它现在还不属于 /。
-
我们虽然可以在一些图形桌面系统里找到他的位置,浏览管理里面的文件,但在命令行却不知怎么访问它的目录,比如无法使用 cd 或者 ls。也无法在编程时指定一个目录对它操作。
-
这时使用 mount /dev/sdb1 ~/Share/,把新硬盘的区 sdb1 挂载到工作目录的 ~/Share/ 文件夹下,之后访问这个 ~/Share/ 文件夹就相当于访问这个硬盘 2 的 sdb1 分区了。对 /Share/ 的任何操作,都相当于对 sdb1 里文件的操作。
-
所以 Linux 下,mount 挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。
-
Linux 操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。
-
我们不是有 /dev/sdb1 吗,直接对它操作不就行了?这不是它的目录吗?
-
这不是它的目录。虽然 /dev 是个目录,但 /dev/sdb1 不是目录。可以发现 ls /dev/sdb1 无法执行。/dev/sdb1 是一个类似指针的东西,指向这个分区的原始数据块。mount 前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。
-
插入 CD,系统其实自动执行了 mount /dev/cdrom /media/cdrom。所以可以直接在 /media/cdrom 中对 CD 中的内容进行管理。
浙公网安备 33010602011771号