用于 Windows 或 Linux 的虚拟文件系统,将多个目录合并为一个

用于 Windows 或 Linux 的虚拟文件系统,将多个目录合并为一个

在 OS/2 下,存在“多伦多虚拟文件系统”,它允许将多个目录合并为一个目录。当您访问现有文件时,虚拟文件​​系统 (VFS) 会知道在哪里查找真实文件。如果您创建了一个新文件,它会在指定的目录中创建该文件。

这样可以将 HD 上的目录和 CD 上的目录结合起来,所有访问都将转到 CD,除非访问的文件也在 HD 上或者已被更改,否则将使用 HD。

我一直很喜欢这个想法,并希望 Windows 或 Linux 下也存在类似的东西,但我找不到类似的东西。有人能帮忙吗?

答案1

您正在寻找某种联合文件系统。

在 Linux 上,overlayfs 是开箱即用的。此外还有 UnionFS 和 AUFS。合并这稍有不同,因为它将根据配置的策略在源目录中分配写入,但我为了完整性而提到它。

使用 overlayfs挂载/media/cdrom~/work-in-progress作为联合目录~/cdrom-union

mount -t overlay overlay -o lowerdir=/media/cdrom,upperdir=$HOME/work-in-progress,workdir=$HOME/workdir ~/cdrom-union

我在参数中使用$HOME而不是来确保 shell 正确解析路径。~-o

~/workdir是工作目录,overlayfs 内部使用它来进行操作。根据拱门维基

不幸的是,我对 Windows 方面的事情不太熟悉。

答案2

在 Linux 中,您可以使用硬链接、软链接或绑定挂载。

在 Windows 中,您可以使用硬链接、软链接、连接点或挂载点。

相关内容