V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zxCoder
V2EX  ›  Linux

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

  •  
  •   zxCoder · 2021-10-22 20:27:01 +08:00 · 3268 次点击
    这是一个创建于 1158 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    13 条回复    2021-10-26 18:05:44 +08:00
    billlee
        1
    billlee  
       2021-10-22 20:39:01 +08:00
    不要理解成子目录的文件存在新硬盘里

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

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

    感觉把 mount 当作一种别名机制就可以了。文件系统在硬盘上,mount 之前就没有访问它的入口,mount 后就给了一个目录作为它的名字;通过 bind mount 可以给一个文件系统很多个名字
    zxCoder
        4
    zxCoder  
    OP
       2021-10-22 20:52:17 +08:00
    @billlee 有道理,多了一个理解了,感谢
    seers
        5
    seers  
       2021-10-22 20:55:26 +08:00   ❤️ 1
    一切设备都是文件
    12101111
        6
    12101111  
       2021-10-22 20:59:28 +08:00
    fox0001
        7
    fox0001  
       2021-10-22 21:51:50 +08:00
    把它理解为 Windows 只有一个 C 盘就好了。觉得不好理解,绝对是被微软带坏了。
    Rocketer
        8
    Rocketer  
       2021-10-22 21:58:38 +08:00 via iPhone   ❤️ 2
    其实 Windows 也能把硬盘挂载到目录下,只是大家更习惯用盘符而已
    defunct9
        9
    defunct9  
       2021-10-23 09:51:38 +08:00 via iPhone   ❤️ 1
    一颗树,其它都是挂在树上的子节点。
    uilzzw
        10
    uilzzw  
       2021-10-23 11:18:20 +08:00
    一切皆文件
    neroxps
        11
    neroxps  
       2021-10-23 11:28:11 +08:00
    理解成快捷方式就完了。
    Titanium21
        12
    Titanium21  
       2021-10-23 16:37:16 +08:00   ❤️ 1
    与 windows 反着来就行,在 win 中 硬盘>分区>文件。在 linux 中 文件>=硬盘。与其想在硬盘中创建文件夹,不如想成硬盘挂在文件夹上
    totoro2017
        13
    totoro2017  
       2021-10-26 18:05:44 +08:00
    可以这么理解:
    1. linux 一切皆文件
    2. 设备文件 /dev/sda1
    3. 文件系统(树)文件 /mnt/data
    4. 将设备文件 /dev/sda1 挂载(绑定)到文件系统文件 /mnt/data 就是熟悉的 mount 操作
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5302 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:55 · PVG 13:55 · LAX 21:55 · JFK 00:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.