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


29

我错误地输入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
/

Answers:


42

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

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路径名解析规范中

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.