【问题标题】:Unix file structure is '/' the same as '//' [closed]Unix文件结构是'/'与'//'相同[关闭]
【发布时间】:2020-12-01 22:32:35
【问题描述】:

当我输入 cd / 时,它与我输入 // 完全相同

这是为什么呢?

【问题讨论】:

标签: unix terminal cd file-structure


【解决方案1】:

这是 POSIX 标准的一部分。见4.13 Pathname Resolution

由单个<slash> 组成的路径名应解析为进程的根目录。不应成功解析空路径名。如果路径名以两个连续的<slash> 字符开头,则前导<slash> 字符后面的第一个组件可以以实现定义的方式解释,尽管两个以上的前导<slash> 字符应被视为单个<slash>字符。

恰好两个斜杠的具体情况取决于实现,但我不知道有任何实现将此视为特殊情况。

另请参阅3.271 Pathname,它进一步要求“多个连续的<slash> 字符被认为与一个<slash> 相同,除了恰好两个前导<slash> 字符的情况。”

一般来说,折叠重复的斜线可以更容易地通过将片段粘合在一起来构建路径,而不必担心片段本身可能以斜线开头或结尾。

【讨论】:

  • Cygwin 将以 // 开头的路径解释为 UNC 路径。
  • @Bodo 啊,是的,我记得。我希望有将这两个事实联系在一起的历史(可能与 Microsoft POSIX 子系统相关联)。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多