Linux 系统的路径,存储设备的挂载点,以及挂载这个操作,究竟要怎么理解比较好,越想越复杂 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zxCoder
V2EX    Linux

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

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

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

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

    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     Solana     2358 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:01 PVG 18:01 LAX 02:01 JFK 05:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86