Windows等效于Linux命名空间(每进程文件系统挂载)?

Joh*_*nck 6 linux windows filesystems portability namespaces

Linux有一个名为namespaces的功能,它允许您为不同的进程提供不同的文件系统"视图".在Windows术语中,这将是有用的,例如,如果您有一个始终加载其配置的遗留程序"floyd" C:\floyd\floyd.ini.如果Windows有名称空间,你可以编写一个包装脚本来创建一个运行的命名空间,floyd这样当Alice运行脚本时,floyd会在一个C:\floyd存在但实际指向的环境中启动C:\Users\Alice\Floyd.

现在你可能会想,"好吧,只需使用软链接或硬链接并C:\floyd为别名创建别名C:\Users\Alice." 但是对于命名空间,Bob也可以运行启动脚本,但他的floyd实例(在同一台计算机上,同时运行)将会看到C:\floyd,比如说C:\Users\Bob\Program Settings\Floyd Config(或者我们喜欢的任何其他路径)的内容.

您可以在具有命名空间的Linux上执行此操作.Windows上有类似或类似的东西吗?如果它需要编写C程序就可以了,如果只能在最新版本的Windows上运行,那就没关系.

MSa*_*ers 5

NTFS 硬链接实际上是重解析点的一个简单案例。重解析点是类型化的,并且可以包含更高级的行为。例如,它们还用于“离线存储”(文件在二级存储之间的透明迁移)。因此,您还可以通过创建新的重新解析类型,使用重新解析点来实现每个用户的符号链接。

重解析点类型甚至有一个明确的“名称代理”位,它(如果设置)表示这些类型的重解析点是某种符号链接。

您甚至可以在一个路径中有多个重解析点。因此,您的符号命名空间中的文件仍然可以迁移到二级存储——路径中只有两个重解析点。