Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Tested on a debian and debian-based:

$ cd // && pwd && ls
//
bin   build  dev  home ...

Why is the path // a valid path?

share|improve this question

2 Answers 2

up vote 12 down vote accepted

According to the 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.

I'm guessing bash resolves the two slashes to a single slash, so they both mean the same thing. And according to the specification, cd /// should also give the same output.

You can check the inode number of the current directory using

stat -c "%i" .

and you'll notice that the inode number of / and // are the same.

share|improve this answer
    
I doubt bash does this. I rather think it is the kernel's job... –  glglgl Apr 16 '14 at 10:54
1  
The specific of // not necessarily = / is reserved for Windows POSIX environment for which // begins a UNC name. Cygwin also behaves this way. –  joshudson Apr 16 '14 at 15:11
    
@joshudson Don't also forget that URI /a/b/c is a relative URI, while an URI //a/b/c is an absolute one, and a is the host name. –  Joker_vD Apr 16 '14 at 16:48

This question has already been answered here.

On most POSIX systems, multiple slashes are simply ignored.

share|improve this answer
4  
We really do prefer that answers contain content not pointers to content. Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Iain Apr 16 '14 at 10:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.