Я хочу создать символическую ссылку на /
папку root ( ) в моем домашнем каталоге. Однако если я попробую это, я получу
~$ ln -s /
ln: failed to create symbolic link './': File exists
Конечно, я могу сделать это с помощью Nautilus Ctrl+ D, поэтому я знаю, что это возможно.
Как это сделать с помощью терминала?
command-line
filesystem
symbolic-link
Анкур С
источник
источник
cd /
? Или вам нравится создавать ссылку, которая будет повторяться через цикл снова и снова? Пример:cd root/home/terrance/root/home/terrance/root/home/terrance/root
. , , и т. д.Ответы:
Вам не хватает названия ссылки, оно должно быть:
Который затем создаст символическую ссылку с именем root в вашем домашнем каталоге. Итак, правильное использование:
Вы видите сообщение об ошибке, которое
./
всегда существует, и ссылка с этим именем не может быть создана, лучше всего использоватьln
команду 2 с обоими параметрами, чтобы предотвратить неправильную связь.От
man ln
:Последний параметр, по
<link-name>
умолчанию - последняя часть цели. Поэтому, когда целью является/path/dir
имя ссылки, по умолчанию используется значение,dir
если оно не указано. 1 И если вы, например, создать~/etc
с помощью,mkdir ~/etc
а затем запуститьln -s /etc
в~
нем не может создать ссылку, потому что имя / каталог уже существует. 3И вы можете увидеть ссылку, созданную в вашем домашнем каталоге (здесь, например, вы можете назвать ее как угодно):
1 Спасибо @thomasrutter за указание на это.
2 См. Также
man link
иman symlink
3 Спасибо @steeldriver за предоставленный пример в комментариях.
4 Подчеркнул часть, чтобы выделить текст, так как он имеет отношение к вопросу.
источник
ln -s /etc
работать, а не эта? Спасибо за ответ,/
может быть корневым или компонентом пути, поэтому программа не может знать, что имеется в виду./etc
это просто явный различимый путь../
что всегда будет существовать -./etc
не так уж и вероятно. Попробуйтеmkdir etc
сначала, а затемln -s /etc
- вы также получитеFile exists
/some/dir
имя ссылки, по умолчанию используется значение,dir
если оно не указано. Однако, когда цель просто/
, это не сработает.File Exists
результаты. Не то чтобы это все равно имело значение, так как это вырожденный случай