在Linux中,"cd //"中的双重斜杠是什么意思?

 姓赵的妖女 发布于 2023-02-09 10:02

我输入了一个命令,cd //而不是cd /错误的,而不是得到一个错误,因为我期望shell(Bash)显示一个提示,好像我在//目录中: -

@://$
@://$ pwd
//

列出目录的内容显示它与之相同/.

那么究竟cd //做了什么以及有什么不同cd /呢?

2 个回答
  • 实际上它没有任何意义,被忽略了.

    从Bash FAQ E10 ::

    E10)为什么'cd //'将$ PWD留作'//'?

    POSIX.2在其对'cd'的描述中表示,在规范化当前工作目录时,可以用一个斜杠替换三个或更多前导斜杠.

    我认为这是历史兼容性.某些版本的Unix和早期网络文件系统使用// hostname/path形式的路径来访问服务器"hostname"上的"路径".

    另外,Unix的标准规定:

    以两个连续斜杠开头的路径名可以以实现定义的方式解释,但是应将两个以上的主斜杠视为单个斜杠.

    2023-02-09 10:04 回答
  • AskUbuntu上的这个答案证实它们是同一个目录.此外,它有助于引用POSIX路径名解析规范:

    由单个斜杠组成的路径名将解析为进程的根目录.无法成功解析空路径名.以两个连续斜杠开头的路径名可以以实现定义的方式解释,但是应将两个以上的主斜杠视为单个斜杠.

    2023-02-09 10:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有