cd / 和 cd // 的区别?

Sac*_*iya 5 command-line bash

cd / 和 和有cd //什么区别?我们可以看到添加/到最后没有任何作用。但是当我做cd //and 时pwd,我发现:

$ cd //
$ pwd
//  
Run Code Online (Sandbox Code Playgroud)

/和 和有什么不一样//ls两个目录中的An显示相同的内容。为什么//需要?

sou*_* c. 10

///指向同一个目录。查看路径中重复的斜杠相当于一个斜杠

这种行为是 POSIX 强制要求的,大多数应用程序都会效仿。例外是“可以以实现定义的方式解释以两个连续斜线开头的路径名”。

事实上,您所看到的并不是 Linux//对 bash 的当前目录跟踪做了什么特别的事情。

$ bash -c 'cd //; pwd'
//
$ bash -c 'cd //; /bin/pwd'
/
Run Code Online (Sandbox Code Playgroud)

来源