Двойная корневая папка по сравнению с единственной корневой папкой

На моем поле Linux, в ударе, у меня есть доступ к "двойной корневой" папке, обозначенной двумя наклонными чертами вправо:

tomas:~ $ cd /
tomas:/ $ ls
bin/ cdrom@ ...
tomas:/ $ cd //
tomas:// $ ls 
bin/ cdrom@ ...

Содержание папки и ее подпапки идентично "нормальному" единственному корню наклонной черты. Двойная наклонная черта не уходит, когда я получаю доступ к ее подпапкам. Аномалия не повторяется с тремя или больше наклонными чертами; это простые синонимы для корня:

tomas:// $ cd home/tomas
tomas://home/tomas $ cd ///
tomas:/ $ cd ////
tomas:/ $

Какое место kindof - это? Действительно ли это - ошибка? Кто-либо может объяснить аномалию?

14
задан 15.10.2014, 18:15

4 ответа

От Bash FAQ E10:

E10), Почему делает 'CD//', оставляют $PWD как '//'?

POSIX.2, в его описании 'CD', говорит, что три или больше ведущих наклонных черты могут быть заменены единственной наклонной чертой при канонизации текущего рабочего каталога.

Это, я предполагаю для исторической совместимости. Определенные версии Unix, и ранние сетевые файловые системы, используемые пути формы//имя хоста/путь для доступа к 'пути' на сервере 'имя хоста'.

18
ответ дан 07.12.2019, 11:19

"Это не ошибка, это - функция!"

Вы находитесь все еще в том же корневом каталоге. Я не знаю источники этого, но подозреваю, что это может иметь некоторое отношение к созданию строк для полных путей. Если кто-либо еще знает наверняка, заговорить.

1
ответ дан 07.12.2019, 11:19

Несколько наклонных черт просто проигнорированы инструментами, которые Вы использовали, и Вы всегда добираетесь до той же корневой папки.

0
ответ дан 07.12.2019, 11:19

Несколько наклонных черт рассматривают как единственную наклонную черту в целях разрешения пути.

То, что Вы видите в приглашении оболочки, является артефактом удара обработка PS1 (см. раздел "PROMPTING" в странице справочника удара).

[root@linux /]# cd /    ; echo $PWD
/
[root@linux /]# cd //   ; echo $PWD
//
[root@linux //]# cd /// ; echo $PWD
/
[root@linux /]# cd //// ; echo $PWD
/

Результатом является только вопрос презентации; Вы всегда находитесь в том же корневом каталоге. Можно проверить это путем взгляда на /proc/$$/root.

[редактирование] Хорошо я никогда не знал это: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_11 значение "//" оставляют неопределенным стандарты, но "///" и больше наклонных черт эквивалентны "/".

0
ответ дан 07.12.2019, 11:19

Теги

Похожие вопросы