Назад | Перейти на главную страницу

Почему путь «//» работает?

Проверено на debian и на основе Debian:

$ cd // && pwd && ls
//
bin   build  dev  home ...

Почему путь // действительный путь?

Согласно Спецификация POSIX:

A pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall be
treated as a single slash.

Я предполагаю, что bash разрешает две косые черты одной косой чертой, поэтому они оба означают одно и то же. И согласно спецификации, cd /// должен также дать такой же результат.

Вы можете проверить номер inode текущего каталога, используя

stat -c "%i" .

и вы заметите, что номер inode / и // одинаковые.

На этот вопрос уже дан ответ Вот.

На большинстве POSIX системы, множественные косые черты просто игнорируются.