cd // 是什么意思(将目录更改为 //)

What does cd // means (change directory to //)

我仍然是 Linux 新手,我想知道:Linux 目录是什么 // ?

我可以使用 cd /

将目录 (cd) 更改为根目录
~> cd /
/>

使用 pwd(工作目录的打印名称)告诉我我在根目录 (/)

/> pwd
/

使用 ls(列出目录内容)我看到以下内容(使用 Raspbian Jessie)

/> ls
bin  boot  dev  etc  home  include  lib  lost+found  media  mnt  opt  proc  root  run  sbin  share  srv  sys  tmp  usr  var

我错误地将 dir 更改为 // 并发现它是有效的:

~> cd //
//>

还使用 pwd 告诉我我在一个名为 // :

的目录中
//> pwd
//

但是使用 ls 我看到我可能仍在 'something' 中,看起来像 root。

//> ls
bin  boot  dev  etc  home  include  lib  lost+found  media  mnt  opt  proc  root  run  sbin  share  srv  sys  tmp  usr  var

...但告诉我它叫做 // (rootroot ;-)

那么什么是目录//?

在 Linux(以及大多数其他平台)中,路径中的多个斜杠被解释为与单个斜杠相同。但是,POSIX specification 指出:

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.

// 可以保留用于特殊用途(例如:访问 Cygwin 中的网络驱动器)。但是,如果您在 Linux 上检查 / 和 // 中的 ls,您应该会看到相同的内容。