目录的任何替代方案

目录的任何替代方案

有没有不使用目录或目录路径的计算机(旧式或现代)的例子?如果有,那么以前/现在使用的是哪种架构?只是好奇。

答案1

PDP-7 Unix 使用不同形式的目录(不是常规的树形层次结构):

Unix 分时系统的演变

丹尼斯·M·里奇

[...]

尽管 PDP-7 文件系统与当前文件系统非常相似,但它在某些方面却截然不同:没有路径名,系统的每个文件名参数都是相对于当前目录的简单名称(不带“/”)。通常 Unix 意义上的链接确实存在。它们与一套复杂的约定一起,是使没有路径名变得可以接受的主要手段。

链接调用的形式

link(dir, file, newname)

其中 dir 是当前目录中的目录文件,file 是该目录中的现有条目,newname 是添加到当前目录中的链接的名称。由于 dir 需要位于当前目录中,因此显然今天禁止链接到目录的规定并未得到执行;PDP-7 Unix 文件系统具有一般有向图的形状。因此,每个用户都不需要维护到所有感兴趣的目录的链接,因此存在一个名为 dd 的目录,其中包含每个用户目录的条目。因此,要创建到目录 ken 中文件 x 的链接,我可以这样做

ln dd ken ken
ln ken x x
rm ken

这种方案使得子目录非常难以使用,以至于在实践中根本用不到。另一个重要障碍是,在系统运行时无法创建目录;所有目录都是在从纸带重建文件系统时创建的,因此目录实际上是一种不可再生资源。

dd 约定使 chdir 命令相对方便。它接受多个参数,并依次将当前目录切换到每个命名目录。因此

chdir dd ken

将移动到目录 ken。(顺便说一下,chdir 拼写为 ch;我不记得为什么当我们转到 PDP-11 时会扩展它。)

相关内容