小白求教各位,这种情况下, mount 命令结果是什么回事,什么关系?

2018-04-12 22:02:29 +08:00
 pppguest3962

1、已有一只硬盘,装一 centos 6.5,在 /dev/sda,并且有 /opt,里面有文件,

2、加了个硬盘,成为 /dev/sdb1,格式化成 ext4

3、白痴(我本人)用 mount /dev/sdb1 /opt。

4、mount -l,/dev/sdb1 是挂载成功的。

5、ls /opt,依然是原来 sda 上 /opt 的内容。

请问,这样是一种什么状态? 盘挂上了? 那么往后在 /opt 里写东西,是写在 /dev/sda 上,还是 /dev/sdb1 上?

2474 次点击
所在节点    Linux
8 条回复
pppguest3962
2018-04-12 22:28:12 +08:00
很是妖异的事情,做完操作后,理论上 /opt 是挂载了 /dev/sdb1 的,我当时 ls 了,也确定了 pwd 的当前路径是没错的,里面的确还是 /dev/sda 储存的文件状态,我然后就来发了帖子,然后歇了一会,抽了根烟,
然后 umount 了一下 /dev/sdb
然后再 mout /dev/sdb1 /opt
再 ls /opt,/opt 里有个 lost+found 出现,成功了。。。
什么鬼。。。
zw
2018-04-12 22:33:38 +08:00
根据我之前的经验,如果将一个分区挂到一个已经有目录或文件的目录下,那么,原来文件和目录将不再可见,后续读写将是在新的分区上,umount 之后,之前的目录和文件又可见了。
moreMath
2018-04-12 22:36:10 +08:00
mount 一般要挂载到空目录,从新 mdir 一个文件夹再 mount 试试?
mount -l 挺长,你用 df 看看?
读写都是原路径,我理解是挂载点只是影响接入路径
eccstartup
2018-04-12 22:44:02 +08:00
有点危险,/opt 可能非空
tatsuteng
2018-04-12 22:48:46 +08:00
如果 mount /dev/sdb1 /opt 后,/opt 的 inode 是会变的,会指向 /dev/sdb1 文件系统里的内容。
如果你在 mount 之前已经进入了 /opt 目录,那么在 mount 之后,不重新读取 /opt 的 inode 是看不到文件夹内容变化的;这时候 ls 会有些情况:
1. 直接 `ls`,因为`.`的 inode 没有刷新,你会看到 /dev/sda 的内容
2. `ls /opt`,因为 ls 读取了新的`/opt`inode,你会看到 /dev/sdb1 的内容
pppguest3962
2018-04-12 23:00:33 +08:00
感谢各位热心解答,,,,,

@tatsuteng,想了一下,您的解答也许接近情况,因为我当时可能还在 /opt 的目录里做这个操作。。。。冏,再 ls 的时候,并没有更新 /opt....
msg7086
2018-04-12 23:24:27 +08:00
/opt# ls

/# ls /opt
是两个操作……
julyclyde
2018-04-13 10:18:28 +08:00
哪个后执行,哪个“现在”起作用

多次 mount 是一层层叠起来的

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

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

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

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

© 2021 V2EX