在各种 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 文档项目。