What does double slash // in `cd //` mean in Linux?

LinuxBashShellDirectory StructureCd

Linux Problem Overview


I've entered a command cd // instead of cd / by mistake and instead of getting an error as I'd expect the shell (Bash) showed a prompt as if I'm in the // directory:-

<username>@<hostname>://$
<username>@<hostname>://$ pwd
//

Listing the content of the directory shows that it is the same as /.

So what exactly cd // do and what's the difference from cd /?

Linux Solutions


Solution 1 - Linux

Actually it means nothing and is ignored.

From the Bash FAQ E10::

> E10) Why does 'cd //' leave $PWD as '//'? > > POSIX.2, in its description of 'cd', says that three or more leading > slashes may be replaced with a single slash when canonicalizing the > current working directory. > > This is, I presume, for historical compatibility. Certain versions of > Unix, and early network file systems, used paths of the form > //hostname/path to access 'path' on server 'hostname'.

Also the Unix standards states:

> 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.

Solution 2 - Linux

This answer on AskUbuntu confirms that they are the same directory. Further, it helpfully quotes from the POSIX Pathname Resolution specification:

> A pathname consisting of a single slash shall resolve to the root directory of the process. A null pathname shall not be successfully resolved. 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionvitautView Question on Stackoverflow
Solution 1 - LinuxRahul TripathiView Answer on Stackoverflow
Solution 2 - LinuxSerp CView Answer on Stackoverflow