![挂载的磁盘中的文件存放在哪里?](https://linux22.com/image/896633/%E6%8C%82%E8%BD%BD%E7%9A%84%E7%A3%81%E7%9B%98%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E5%AD%98%E6%94%BE%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我对 Ubuntu 和 Linux 还很陌生,我正在开展一个小项目,其中遇到了一些对我来说很新的东西。
我正在向 ubuntu VM 添加第二个磁盘,并且想要将其安装到 /media/recordings 我很确定我已经完成了该过程,但我想知道 /media/recordings 文件夹中已有的文件会发生什么。
出于好奇,我在将 /dev/sdb1 挂载到 /media/recordings 目录之前,将一个文本文件写入其中。我挂载了磁盘,但那个文本文件不见了。我将一个新的文本文件写入磁盘,然后卸载并重新启动。我检查了 /media/recordings 目录,发现我的原始文本文件在那里,而不是新文本文件(正如预期的那样)。
我想我的问题是安装磁盘后原始目录会发生什么?我想我期望这两个位置合并,而不是“覆盖”。
答案1
它们被屏蔽(隐藏)。分区安装在现有内容上,无法通过正常方式访问。可以通过将原始目录绑定安装在其他地方或通过其他迂回方法访问它们。
如果你想合并内容,你需要使用类似的东西(见如何使用 OverlayFS?,OverlayFS 使用示例)。否则,只有挂载源的内容在挂载点上可见。
使用绑定挂载访问原始内容的示例:
$ ls foo
2017
$ sudo mount -t tmpfs none foo
$ ls -l foo
total 0
$ mkdir bar
$ sudo mount -o bind . bar
$ ls bar/foo
2017
答案2
当您将分区挂载到文件夹时,该文件夹实际上将成为挂载分区的链接。
因此,该文件夹中原来的文件将无法被看到。
类似地,当分区被挂载到文件夹时,任何写入该文件夹的文件都会被放在挂载的分区上。当
您卸载分区时,您将无法再看到分区上的文件,因为文件夹现在指向原始位置。