На моем компьютере с Linux в bash у меня есть доступ к папке «двойной корень», обозначенной двумя косыми чертами:
tomas:~ $ cd /
tomas:/ $ ls
bin/ cdrom@ ...
tomas:/ $ cd //
tomas:// $ ls
bin/ cdrom@ ...
Содержимое папки и ее подпапки идентично «обычному» корню с одним слешем. Двойная косая черта не исчезает, когда я открываю подпапки. Аномалия не повторяется с тремя или более косыми чертами; это простые синонимы для корня:
tomas:// $ cd home/tomas
tomas://home/tomas $ cd ///
tomas:/ $ cd ////
tomas:/ $
Что это за место такое? Это ошибка? Кто-нибудь может объяснить аномалию?
Ответы:
Из Bash FAQ E10 :
источник
«Это не ошибка, это особенность!»
Вы все еще в том же корневом каталоге. Я не знаю происхождение этого, но подозреваю, что это может иметь какое-то отношение к созданию строк для абсолютных путей. Если кто-то еще знает наверняка, подайте трубку.
источник
Множественные слэши просто игнорируются используемыми вами инструментами, и вы всегда получаете доступ к одной и той же корневой папке.
источник
Несколько косых черт рассматриваются как одна косая черта в целях разрешения имен путей.
В приглашении оболочки вы видите артефакт обработки bash PS1 (см. Раздел «ПРЕДУПРЕЖДЕНИЕ» на странице руководства bash).
Результат - только вопрос представления; Вы всегда находитесь в одном корневом каталоге. Вы можете проверить это, посмотрев на
/proc/$$/root
.[edit] Ну, я никогда не знал этого: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_11 Значение «//» не определено стандартами, но «///» и больше косых черт эквивалентно "/".
источник