![为什么路径“//”有效?](https://linux22.com/image/631137/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%B7%AF%E5%BE%84%E2%80%9C%2F%2F%E2%80%9D%E6%9C%89%E6%95%88%EF%BC%9F.png)
在 debian 和基于 debian 的版本上进行了测试:
$ cd // && pwd && ls
//
bin build dev home ...
为什么该路径是//
有效路径?
答案1
根据POSIX 规范:
A pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall be
treated as a single slash.
我猜想 bash 会将两个斜杠解析为一个斜杠,因此它们的含义相同。并且根据规范,cd ///
也应该给出相同的输出。
您可以使用以下方法检查当前目录的 inode 编号
stat -c "%i" .
/
您会注意到和的 inode 编号//
是相同的。