Linux/POSIX 路径斜杠折叠规则
-
在 Linux/POSIX 路径语义中,对于非开头的连续斜杠,多个连续的斜杠会被视为一个斜杠
-
但对于路径开头的连续斜杠,则有特殊规则
1、普通位置的连续斜杠
- 在路径的中间或末尾,无论有多少个连续的斜杠,都会被等同于单个斜杠
-
/foo/bar、/foo//bar、foo///bar都指向相同的路径 -
/home、/home/、/home//都指向相同的路径
2、路径开头的连续斜杠
-
一个前导斜杠(
/):代表系统的根目录 -
两个前导斜杠(
//):可能被特殊处理的情况。POSIX 标准允许系统将//开头的路径按实现自定义的方式解释例如,Cygwin 环境就使用 // 来表示网络路径,cd // 可能会列出网络上的 SMB 服务器,而不是根目录
Cygwin 是一个在 Windows 系统上运行的大型开源工具集合
它的核心目标是为 Windows 用户提供一个类 Linux 或 Unix 的操作环境
-
三个或更多前导斜杠(
///):这些将被强制折叠为单个斜杠