对于根目录,//
提示符中将显示:
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ cd /
───────────────────────────────────────────────────────────────────────────────
rick@alien:/$ cd //
───────────────────────────────────────────────────────────────────────────────
rick@alien://$ cd ///
───────────────────────────────────────────────────────────────────────────────
rick@alien:/$
您可以切换到//
目录。但是当您切换到///
目录时,它会带您返回/
。
但是子目录的显示方式不同:
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ cd /usr
───────────────────────────────────────────────────────────────────────────────
rick@alien:/usr$ cd /usr//src
───────────────────────────────────────────────────────────────────────────────
rick@alien:/usr/src$
───────────────────────────────────────────────────────────────────────────────
rick@alien:/usr/src$ cd //usr
───────────────────────────────────────────────────────────────────────────────
rick@alien://usr$
───────────────────────────────────────────────────────────────────────────────
rick@alien://usr$ cd ///usr
───────────────────────────────────────────────────────────────────────────────
rick@alien:/usr$
如您所见,在子目录中//
会自动转换为单个。但是该规则不适用于第一级目录。/
为什么//
显示顶级目录但不显示子目录?
答案1
第二个斜线没有任何意义,系统正确的做法是将其视为单个斜线。
您的 shell 正在规范化路径,以便在除以下情况之外的所有情况下都显示没有附加斜杠的路径:当路径仅以两个斜杠开头时。在这种情况下,shell 根据 POSIX 标准保留了第二个斜杠,该标准允许以两个斜杠开头的路径具有由上下文定义的特殊含义。但是,在这种情况下,没有特殊含义,即使 shell 保留了它,它最终也会被忽略。