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

Я хочу создать символическую ссылку на корневую папку (/) в моем домашнем каталоге. Однако, если я попробую это, я получу

~$ ln -s /
ln: failed to create symbolic link './': File exists

Я могу сделать это, используя Nautilus Ctrl + D , конечно, так что я знаю, что это возможно.

Как это сделать с помощью терминала?

13
задан 14 December 2017 в 03:03

1 ответ

Вам не хватает названия ссылки, оно должно быть:

cd ~
ln -s / root

, которое затем создаст символическую ссылку с именем root в вашем домашнем каталоге. Таким образом, правильное использование:

ln -s <target> <link-name>

Сообщение об ошибке, которое вы видите, состоит в том, что ./ всегда существует, и ссылка с этим именем не может быть создана, лучше всего использовать ln команда 2 с обоими параметрами для предотвращения неправильной связи.

Из man ln :

СИНОПСИС

(1st form) ln [OPTION]... [-T] TARGET LINK_NAME  
(2nd form) ln [OPTION]... TARGET  
(3rd form) ln [OPTION]... TARGET... DIRECTORY  
(4th form) ln [OPTION]... -t DIRECTORY TARGET...  

ОПИСАНИЕ

В 1-й форме создайте ссылку на TARGET с именем LINK_NAME . Во 2-й форме создайте ссылку на TARGET в текущем каталоге. В 3-м и 4-м классах создайте ссылки на каждый TARGET в DIRECTORY . Создавайте жесткие ссылки по умолчанию, символические ссылки с --symbolic. По умолчанию каждый пункт назначения (имя новой ссылки) еще не должен существовать 4 . При создании жестких ссылок каждый TARGET должен существовать. Символьные ссылки могут содержать произвольный текст; если позже разрешено, относительная ссылка интерпретируется относительно его родительского каталога.

Обязательные аргументы длинных опций обязательны и для коротких опций.

ОПЦИИ

Последний параметр, <link-name>, по умолчанию используется в последней части цель. Поэтому, когда целью является /path/dir, имя ссылки будет по умолчанию равным dir, если оно не указано. 1 И если вы, например, создадите ~/etc с помощью mkdir ~/etc, а затем запустите ln -s /etc в ~ он не может создать ссылку, потому что имя / каталог уже существует. 3

И вы можете увидеть ссылку, созданную в вашем домашнем каталоге (здесь, например, вы, конечно, ' Вы можете называть его как угодно):

$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /

1 Спасибо @thomasrutter за указание на это.
2 См. также man link и man symlink
[sup> 3 Спасибо @steeldriver за предоставленный пример в комментариях.
4 Подчеркнута часть, чтобы подчеркнуть текст, поскольку он имеет отношение к вопросу.

17
ответ дан 14 December 2017 в 03:03

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

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