4

Я пытался вызвать ln в каталоге ~/download следующим образом:

ln -s ./abc ~/abc [EDITED]

но это не работает
Я делаю ls -al в моем доме и получаю неправильную ссылку abc .

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)

Так что мой вопрос здесь: Есть ли ln нужен полный путь к цели? Я не нашел ни одного документа или намек на странице man Если так, где я могу получить дополнительную информацию.

2 ответа2

5

Это довольно просто: вы создаете символическую ссылку в ~ которая указывает на ./abc в этом каталоге. Путь к символической ссылке должен быть действительным в контексте каталога, в котором он находится. Если вы действительно хотите указать на файл, который находится в вашем текущем текущем каталоге, вы должны использовать полный путь.


  1. Ссылка должна быть действительной, если вы хотите ее использовать. Это может указывать на ничто или на файл, который не существует. Это может быть хорошо, так как файл мог быть там раньше и может появиться снова в любое время, и символическая ссылка будет снова указывать на него.
2

ln может принимать как абсолютные, так и относительные имена путей; Разница имеет значение для символических ссылок, но, поскольку вы попросили сделать жесткую ссылку, она будет преобразована в тот же файл в любом случае.

Проверьте вывод ls -li в ~/abc и ~/download/abc - вы увидите, что количество ссылок равно 2 а номер инода одинаков для обоих файлов.

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