如果将驱动器安装到已包含文件的文件夹,这些文件会去哪里?

如果将驱动器安装到已包含文件的文件夹,这些文件会去哪里?

我只是不小心将新驱动器安装到已包含文件的文件夹中。我不关心它们并将它们放在其他地方,但该文件夹现在显示为空。我很好奇这些文件发生了什么它们只是被 Linux 删除了吗?

答案1

只是“阴影”,卸载后会再次出现。 :)

bind事实上,文件完好无损地“存在”,如果您需要立即访问它们,而不需要卸载,可以通过所谓的挂载来解决:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

它之所以有效,是因为当您要求内核将文件系统安装到某个安装点时,内核将该安装点视为您正在安装的文件系统的“查看端口”,因此预计您会看到挂载FS那里的内容。

这是不是将这些 FS“层”组合成单一视图的唯一方法。有所谓“联合安装” 方法(有趣的是,知道这是“Plan 9 中的一个中心概念”,顺便说一句)。在 Linux 上,你可以使用奥夫斯,它从未进入主线内核,或者,目前(自 3.18 起),覆盖文件系统- 它做过

答案2

新安装的文件系统就像一个覆盖层,隐藏了部分初始文件系统。有一些技巧可以访问文件,例如 poige 描述的绑定安装。在 Linux 上,我个人喜欢这样的事实:您可以在不同的挂载点上多次挂载文件系统。因此,您可以完美地将根文件系统挂载在/和 上/mnt。这在调试丢失的空间/丢失的文件/计算磁盘使用情况/...时派上用场。

问题:

  • 旧文件仍然存在并且耗尽空间。挂载隐藏的文件中“丢失”磁盘空间是一个常见的错误。例如,当您不小心在目录中写入大文件并有时决定在其上安装文件系统时。例如,在正确安装日志文件系统之前意外启动大型数据库......
  • 当程序打开一个文件,该文件随后被新安装的文件系统隐藏时,程序不会关心它,并成功地继续使用“隐藏”文件,直到关闭它。从那时起,该文件对进程变得不可见,直到卸载新文件系统并且底层目录再次显示为止。

相关内容