在 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 中,您可以使用硬链接、软链接、连接点或挂载点。