什么是目录“//”?

什么是目录“//”?

在各种 Linux 机器上,你可以

cd /

cd //

使用相应命令后,shell会说当前目录是‘/’或‘//’。

所以问题是:'/' 和 '//' 之间有什么区别,如果答案是“没有区别”,那么为什么 '//' 与 '/' 的显示不同

顺便提一句

cd ///
cd ////
cd /////

所有这些都会导致 shell 说当前目录是 '/'

以下是一个示例会话:

[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$

答案1

我们去问问吧他本人(切斯特·雷米):

E10)为什么 'cd //' 会让 $PWD 保留为 '//'?

POSIX.2 在对 'cd' 的描述中说在规范化当前工作目录时,可以将多个前导斜杠替换为单个斜杠。

我推测这是为了历史兼容性。某些版本的 Unix 和早期的网络文件系统使用 //hostname/path 形式的路径来访问服务器“hostname”上的“path”。

答案2

它不是一个实际的目录,而是 bash 特有的问题。它被引用于Linux 文档项目

相关内容