Linux 系统的路径,存储设备的挂载点,以及挂载这个操作,究竟要怎么理解比较好,越想越复杂

2021-10-22 20:27:01 +08:00
 zxCoder

我只知道可以创建一个空目录,然后把一块硬盘挂载到这个目录,那以后存到这个目录下的文件就是存在这块硬盘里。如果在这个目录下再创建一个子目录,再挂载一块新的硬盘,那在这个子目录的文件就会存到这个新的硬盘里。

哦对,还有文件系统这个概念,加上这个更乱了。

3266 次点击
所在节点    Linux
13 条回复
billlee
2021-10-22 20:39:01 +08:00
不要理解成子目录的文件存在新硬盘里

理解成新硬盘的根目录暂时掩盖掉了原来的子目录比较准确,因为非空的目录上也可以挂载硬盘
zxCoder
2021-10-22 20:42:22 +08:00
@billlee 确实,忘了考虑这点。。。那这样的话,原本那个子目录下的文件还能访问到吗。
billlee
2021-10-22 20:47:26 +08:00
无法用原来的路径访问了

但已经打开的文件描述符不受影响。另外还有 bind mount, 可以先把它 bind mount 到其它路径下

感觉把 mount 当作一种别名机制就可以了。文件系统在硬盘上,mount 之前就没有访问它的入口,mount 后就给了一个目录作为它的名字;通过 bind mount 可以给一个文件系统很多个名字
zxCoder
2021-10-22 20:52:17 +08:00
@billlee 有道理,多了一个理解了,感谢
seers
2021-10-22 20:55:26 +08:00
一切设备都是文件
12101111
2021-10-22 20:59:28 +08:00
fox0001
2021-10-22 21:51:50 +08:00
把它理解为 Windows 只有一个 C 盘就好了。觉得不好理解,绝对是被微软带坏了。
Rocketer
2021-10-22 21:58:38 +08:00
其实 Windows 也能把硬盘挂载到目录下,只是大家更习惯用盘符而已
defunct9
2021-10-23 09:51:38 +08:00
一颗树,其它都是挂在树上的子节点。
uilzzw
2021-10-23 11:18:20 +08:00
一切皆文件
neroxps
2021-10-23 11:28:11 +08:00
理解成快捷方式就完了。
Titanium21
2021-10-23 16:37:16 +08:00
与 windows 反着来就行,在 win 中 硬盘>分区>文件。在 linux 中 文件>=硬盘。与其想在硬盘中创建文件夹,不如想成硬盘挂在文件夹上
totoro2017
2021-10-26 18:05:44 +08:00
可以这么理解:
1. linux 一切皆文件
2. 设备文件 /dev/sda1
3. 文件系统(树)文件 /mnt/data
4. 将设备文件 /dev/sda1 挂载(绑定)到文件系统文件 /mnt/data 就是熟悉的 mount 操作

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/809903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX