为什么我可以 cd 到 // 而不是 /// 或 /// 或 ///// 或 ...

She*_*acu 3 directory pwd

当我将目录更改为 时//,它似乎将我置于一个与 非常相似但略有不同的特殊目录中/。但是,尝试添加任何进一步的斜杠 ( ///) 只会让我陷入/.

$ cd /    ;pwd
/
$ cd //   ;pwd
//
$ cd ///  ;pwd
/
$ cd //// ;pwd
/
Run Code Online (Sandbox Code Playgroud)

这似乎//有点特殊,即使它具有相同的目录和所有内容,它仍然是pwd. 为什么是这样?为什么我的工作目录可以是//但不是///

Wil*_*ard 7

//是一种特殊情况,包含在单词 "Pathname"POSIX 定义中

多个连续<slash>字符被认为与 1 相同<slash>,除了正好有两个前导<slash>字符的情况。

在大多数系统//上与 相同/,但根据 POSIX 允许不同。

进一步阅读:

(我认为这些链接中的第一个是最好的。)