Это можно рассмотреть либо.
В Linux // ничего не значит - несколько последовательных слешей свернуты в один, в любом месте пути, включая начало. Если вы измените каталог на // вы попадете в / , как сказал бы запуск readlink /proc/self/cwd ; аналогично, /usr//local///bin свернут в /usr/local/bin .
Однако некоторые другие Unix-подобные системы, например Cygwin или старая Apollo Domain/OS, используют префикс // для сетевых путей, например //fileserver/path/to/data . POSIX также позволяет это.
По разным причинам оболочка bash самостоятельно отслеживает текущий каталог (в дополнение к отслеживанию, предоставляемому операционной системой) и содержит код, который предотвращает свертывание исходного // , чтобы оставаться совместимым с такими системами. "Особенность" в том , что Баш обеспечивает более интуитивное отслеживание текущего каталога, например, когда cd - Инг в линк, Баш покажет вам путь , который вы ожидаете, даже если ядро думает иначе. "Ошибка" заключается в том, что bash разрешает // даже в системах, которые его не используют.