ln-s не удается создать символьное каталогу

Я пытался создать символьную ссылку Книжного Каталога в Дом

#in the Document Directory to the Home Diretory.
ln -s Books/ ~/Books

enter image description here

но это создает файл, а не каталог

Какова проблема с моим использованием ln?

0
задан 21 February 2019 в 17:16

2 ответа

Это похоже на 3-ю форму согласно документации:

ln [ОПЦИЯ]... ЦЕЛЬ... КАТАЛОГ (3-я форма)... В 3-х и 4-х формах создайте ссылки на каждую ЦЕЛЬ в КАТАЛОГЕ.

Таким образом, это читает, поскольку "создают ссылку на каталог Books (который находится в Вашем текущем рабочем каталоге), и поместите ту ссылку в указанный каталог ~/Books". Конечно, если Books/ не существует в текущем рабочем каталоге - у Вас будет символьная ссылка, указывающая на себя, который приведет к слишком многим ошибкам уровней символьной ссылки

[ adminx:Fri Feb 22 01:57:21 UTC 2019 ]$ ln -s asdfasdf foobarbaz/
[ adminx:Fri Feb 22 01:57:33 UTC 2019 ]$ ls foobarbaz/
asdfasdf  file.txt  thing
[ adminx:Fri Feb 22 01:57:37 UTC 2019 ]$ ls -l foobarbaz/
total 0                                                                                                                                  
lrwxrwxrwx 1 adminx adminx 8 Feb 22 01:57 asdfasdf -> asdfasdf                                                                           
-rw-rw-r-- 1 adminx adminx 0 Feb 22 01:56 file.txt                                                                                       
lrwxrwxrwx 1 adminx adminx 5 Feb 22 01:56 thing -> thing       
[ adminx:Fri Feb 22 02:02:29 UTC 2019 ]$ cd foobarbaz/thing
bash: cd: foobarbaz/thing: Too many levels of symbolic links

Теперь, я предложил бы использовать первую форму с -T флаг:

 adminx:Fri Feb 22 02:05:01 UTC 2019 ]$ ln -s -T  ~/Documents  dock_link
[ adminx:Fri Feb 22 02:05:08 UTC 2019 ]$ ls -l dock_link
lrwxrwxrwx 1 adminx adminx 22 Feb 22 02:05 dock_link -> /home/adminx/Documents
[ adminx:Fri Feb 22 02:05:16 UTC 2019 ]$ 
1
ответ дан 26 October 2019 в 04:46

Кажется на создание неработающей ссылки. Books/ находится в ~/Documents, таким образом, необходимо указать что, любой с относительным путем:

ln -s Documents/Books ~/Books

или полный путь:

ln -s ~/Documents/Books ~/Books
1
ответ дан 26 October 2019 в 04:46

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

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