该\\hostname\directory\…
语法不(直接)在Unix世界起源,据我所知。我不知道它的起源;从我在网上可以找到的信息来看,UNC 不是来自 Netware,也不是来自 Plan9 或 VMS。到 1995 年,它已成为 Windows NT 和 OS/2 的本机功能。OS/2早在1993 年 5 月就有这个概念,它早于 Windows NT 的第一个版本。它可能起源于LAN Manager(由 Microsoft 在 IBM 的 OS/2 之上开发,当时 IBM 和 Microsoft 正在共享 OS/2 代码)。
UNC 的早期提及是在美国专利 5363487(第 29 列底部,图 9)中,由 Microsoft 于 1989 年提交(感谢John Summerfield提供的参考)。后来的专利US 5341499(IBM)确认“通用命名约定是由 IBM 和 Microsoft 共同发明的,用于他们共同开发的局域网 (LAN) 软件产品”。这很可能是指 LAN Manager。
UNC 中有一点 Unix 灵感,因为它不需要驱动器号,允许直接引用网络驱动器,而不必先分配驱动器号(并确保没有冲突,只有 26或 32 个驱动器号)。但是 Unix 几乎从第一天起就使用了更灵活的挂载点系统,其中网络驱动器可以连接到目录层次结构中的任何点,而不是顶部。
Unix 承认 UNC,因为它允许//
对路径的开头进行特殊处理。从POSIX 原理(A.4.11 路径名解析):
其他网络系统出于相同目的使用构造 //hostname。
请注意,基本原理提到了“其他系统”,而不是“历史用途”。这强烈暗示这//hostname/directory
不是 Unix 世界中的历史用法,而是在可能存在 POSIX 实现的某些其他系统中的用法。
小智 6
通过“//hostname/directory/filename”符号将本地文件系统扩展为更大网络的一部分至少可以追溯到 Apollo/DomainOS (1981),尽管当时它没有被称为 UNC。Apollo/DomainOS 可用于 SysV 和 BSD Unix 环境。
请参阅http://www.typewritten.org/Articles/Apollo/005488-02.pdf 中的第 1 章