我错误地输入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
/
Run Code Online (Sandbox Code Playgroud)
Mik*_*kel 44
//通常与 相同/。 ///必须与 相同/。
ls会向您显示cd //将您带到根目录,就像cd /那样。
$ cd /
$ ls
bin
boot
dev
...
$ cd //
$ ls
(same as above)
Run Code Online (Sandbox Code Playgroud)
确认它们绝对是同一目录的技术方法是:
$ cd /
$ stat -c "%i" .
2
$ cd //
$ stat -c "%i" .
2
Run Code Online (Sandbox Code Playgroud)
它们将打印相同的 inode 编号,这意味着它们是相同的。
POSIX 路径名解析规范中记录了血腥的细节:
由单个斜杠组成的路径名应解析为进程的根目录。不应成功解析空路径名。以两个连续的斜杠开头的路径名可以以实现定义的方式解释,尽管两个以上的前导斜杠应被视为单个斜杠。
| 归档时间: |
|
| 查看次数: |
14599 次 |
| 最近记录: |