什么是双斜杠(//)目录?

什么是双斜杠(//)目录?

我错误地输入了cd //cd /令我惊讶的是,当前目录显示为//

这个目录是什么?它为什么存在?

apple@snipped $ pwd
/home/apple
apple@snipped $ cd /
apple@snipped $ pwd
/
apple@snipped $ cd //
apple@snipped $ pwd
//
apple@snipped $ cd ///
apple@snipped $ pwd
/

答案1

//通常与 相同////必须与 相同/

ls会显示带cd //您进入根目录,就像这样cd /

$ cd /
$ ls
bin
boot
dev
...
$ cd //
$ ls
(same as above)

确认它们绝对是同一目录的技术方法是:

$ cd /
$ stat -c "%i" .
2
$ cd //
$ stat -c "%i" .
2

它们将打印相同的 inode 编号,这意味着它们是同一个东西。

血腥细节记录在POSIX 路径名解析规范

由单个斜杠组成的路径名应解析为进程的根目录。空路径名将无法成功解析。以两个连续斜杠开头的路径名可以实现定义的方式进行解释,但两个以上的前导斜杠应被视为单个斜杠。

相关内容