Что значит // в пути?

Я работал в своем терминале, когда я ошибся, когда cd получил root (/). Случайно я набрал // и получил в терминале:

root@weblocalhost://#

Когда я печатаю pwd, я получаю ответ //, но когда я печатаю ls -s, я получаю тот же список, что и в / каталог.

Когда вы набираете более 2, то есть ///, вы получаете:

root@weblocalhost:/#

Всегда 1 /, кроме 2. Есть ли какая-либо разница и для чего //?

9
задан 3 April 2015 в 10:59

2 ответа

/ эквивалентно //

От спецификации POSIX (добавленный акцент):

3.267 Путь

Строка, которая используется для идентификации файла. В контексте POSIX.1-2008 путь может быть ограничен байтами {PATH_MAX}, включая завершающийся пустой байт. Это имеет дополнительное начало <slash> символы, сопровождаемые нулем или большим количеством имен файлов, разделенных <slash> персонажи. Путь может дополнительно содержать один или несколько запаздывание <slash> персонажи. Несколько последовательные <slash> символы считаются тем же как один <slash>, за исключением случая точно двух продвижения <slash> персонажи.

И:

4.12 Разрешение пути

...
Путь, состоящий из сингла <slash> решу к корневому каталогу процесса. Пустой путь не должен быть успешно разрешен. Если путь начинается с двух последовательных <slash> символы, первый компонент после продвижения <slash> символы могут быть интерпретированы определенным реализацией способом, хотя больше чем два продвижения <slash> символы нужно рассматривать как сингл <slash> символ.

Для хорошего обсуждения исключений (cygwin и каталоги) см.: Как Linux обрабатывает несколько последовательных разделителей пути (/, размещают////имя пользователя///файл)?

8
ответ дан 3 April 2015 в 10:59

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

Например, эти три команды все делают то же:
cd /home
cd /home/
cd /home//

После того, как любой из них, которые мой текущий рабочий каталог, установлен на / домой (свериться pwd).

Я предполагаю, что Вам настроили Вашу подсказку, чтобы сделать что-то умное и что Вы столкнулись с непредвиденным поведением. Что Вы получаете когда Вы echo $PS1 ?

Свяжитесь с комментарием https://unix.stackexchange.com/, который может объяснить это.

4
ответ дан 3 April 2015 в 10:59

Другие вопросы по тегам:

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