鸟哥Linux私房菜学习笔记(二)

##什么是挂载?挂载的用途是什么?
书上讲的挂载不是很清楚,在网络上搜索后,对挂载有了较为深刻的理解,在此总结如下。

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

##参考资料

  1. Linux学习笔记(二):什么是挂载?mount的用处在哪?