4

Есть ли способ создать символическую ссылку, которая указывает на другую символическую ссылку?

У меня есть ссылка A (указывающая на адрес1 = /home/data/username/var) в каталоге /home /data, и мне нужно создать ссылку B в /home directory которая указывает на ссылку A.

Если я сделаю ln -nfs /home/B /home/data/A , это не сработает.

2 ответа2

5

Порядок аргумента

ln -s link-target new-link

Так что вы хотели бы

ln -s /home/data/A /home/B
       ^--existing  ^----new link
          file/link

Обновление: я забыл флаг -s в моем примере, поэтому он пытался создать жесткие ссылки, которые БУДУТ пересекать символические ссылки, чтобы попытаться указать на то, на что указывает ссылка. С помощью символических ссылок вы можете вкладывать их настолько глубоко, насколько захотите:

marc@panic:~/b$ touch z
marc@panic:~/b$ ls -l
total 0
-rw-r--r-- 1 marc marc 0 2011-10-31 13:36 z
marc@panic:~/b$ ln -s z y
marc@panic:~/b$ ln -s y x
marc@panic:~/b$ ln -s x w
marc@panic:~/b$ ls -l
total 0
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 w -> x
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 x -> y
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 y -> z
-rw-r--r-- 1 marc marc 0 2011-10-31 13:36 z
1

OP хочет симлинк, ln делает жесткую связь . Но кроме этого, вы можете сделать символическую ссылку, которая указывает куда угодно, цель даже не должна существовать. man ln - твой друг :) Обычно я делаю ln -s tgt src , поэтому src указывает на tgt .

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