(1)背景:最下面有一张图为将某一镜像文件连接到虚拟机上的操作,注意是连接,不是挂载。
(2)问题:此时,进入到/dev/cdrom文件后,ls并不能查看文件内容,只有挂载到比如media文件下,才能查看内容,这是为什么?
(3)解答:
连接与挂载的区别:
/dev/cdrom不是它的目录。虽然/dev是个目录,但/dev/cdrom不是目录。
可以发现ls/dev/cdrom无法执行。因为 ‘/dev/cdrom’,其实是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。
mount了才能读取内容,而连接后直接访问只能读设备信息。 好比看碟,你访问dev相当于直接拿碟片用眼看最多你能看出来是个CD或DVD;但插到光驱里读就能看到电影了,挂载才相当于放入光驱。
(4)扩展:mount到底干了什么?
很多设备的数据组织和linux的文件系统并不一样。没法直接读取,你要看到文件目录,你必须得按照一定的格式去解析设备里的文件。这就是mount干得事,它按照你指定的格式去读取设备里的数据。就是转化为linux自己的文件系统,这样才能解析并读取数据。
(5)本人借用了以下几个回答:
https://www.cnblogs.com/lwl117/p/10310170.html
https://blog.csdn.net/HD243608836/article/details/80097832
https://blog.csdn.net/shaojwa/article/details/51911027