什么是双斜杠(//)目录?
我错误地键入了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 /
//
通常与/
相同。 ///
必须与/
相同。
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路径名解析规范中 :
由单个斜杠组成的路径名将解析为进程的根目录。 无法成功解析空路径名。 以两个连续斜杠开头的路径名可以以实现定义的方式解释,但是应将两个以上的主斜杠视为单个斜杠。