Я работаю над своим проектом, используя network simulator2. Я установил его, и все в порядке. Я попытался создать символическую связь между этой установкой и /usr/bin
, чтобы я мог вызвать программное обеспечение, запустив ns
из командной строки. А именно, я побежал:
sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
который сгенерировал следующий вывод:
ln: creating symbolic link '/usr/bin/ns': File exists
Как я могу удалить уже созданную символическую ссылку или заменить ее любыми другими командами?
ln
имеет -f
переключатель, который "принудительно" создает символическую ссылку, независимо от того, существует она или нет.
sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
<код>sudo rm -r /usr/bin/ns
sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
Я пытался ln -sf
при замене, но у меня это не сработало, но делать ln -sfn directory link_name
как root
работал.
Чтобы добавить ко всем вышеприведенным ответам, символическую ссылку во многих случаях можно рассматривать как обычный файл (ссылка, а не цель).
rm
по символической ссылке его удалят. Если ссылка принадлежит root, вам нужно будет выполнить sudo.
Вы должны быть в состоянии rm /usr/bin/ns
или, скорее sudo rm /usr/bin/ns
не забывайте о праве собственности.
Plat0n
14.Июнь.2022 00:40:45
6
Я пытался выполнить “sudo ln -s destination source”, и, конечно же, он прослушивался. Спасибо за ответ.