Я просто скопировал свой каталог ~/.config в другой и поместил ссылку обратно в $HOME .

Когда я запускаю ls -l это выглядит так с двойной косой чертой в конце:

lrwxrwxrwx  1 lud  lud     22 Jul 23 20:25 .config -> /home/lud/dots/config//

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

Симлинк работает. Не похоже, что что-то сломано. Мне просто интересно, означает ли дополнительная косая черта что-нибудь, или она вообще должна быть там.

2 ответа2

2

POSIX определяет:

3.271 Путь

[…] Путь может дополнительно содержать один или несколько завершающих символов <slash> . Несколько последовательных символов <slash> считаются такими же, как один <slash> , за исключением случая, когда ровно два ведущих символа <slash> .

Каждая из этих ссылок должна работать:

.config -> /home/lud/dots/config//
.config -> /home/lud/dots/config/
.config -> /home/lud/dots/config

(Хотя, если бы /home/lud/dots/config был файлом, только последний путь мог бы сделать допустимую символическую ссылку).

Ваша символическая ссылка является тем, чем она является, потому что она была создана таким образом (если этот другой ответ не применяется). Вы, очевидно, дали целевой путь с двумя конечными косыми чертами, и он оказался правильным путем. Обратите внимание, что вы можете ссылаться практически на все; эта команда

ln -s path/that//may///not/exist/foo//// baz

создаст символическую ссылку

baz -> path/that//may///not/exist/foo////

Сама символическая ссылка, скорее всего, будет повреждена, потому что у вас нет каталога foo/ по этому пути. Существование цели имеет значение, когда вы пытаетесь использовать символическую ссылку, однако для ln -s это не имеет значения. Если path/that/may/not/exist/foo/ существует, символическая ссылка будет работать.

1

Если у вас есть псевдоним, который отображает ls на ls -F , он будет содержать суффикс всех имен файлов в соответствии с их типом.

Когда эта опция включена, все пути к каталогам имеют суффикс / . Поэтому, если в целевом пути символической ссылки уже хранится один конечный обратный слеш, вы увидите два.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .