Je travaille sur mon projet en utilisant network simulator2. Je l'ai installé et tout va bien. J'ai tenté de créer un lien symbolique entre cette installation et /usr/bin
afin de pouvoir appeler le logiciel en exécutant ns
à partir de la ligne de commande. À savoir, j'ai couru:
Sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
qui a généré la sortie suivante:
ln: creating symbolic link '/usr/bin/ns': File exists
Comment puis-je supprimer le lien symbolique déjà créé ou le remplacer par une autre commande?
Sudo rm -r /usr/bin/ns
Sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
ln
a -f
switch qui "force" la création d'un lien symbolique, qu'il existe ou non.
Sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
J'ai essayé ln -sf
lors du remplacement, mais cela n'a pas fonctionné pour moi, mais le fait d'utiliser ln -sfn directory link_name
en tant que root
a fonctionné.
Pour ajouter à toutes les réponses ci-dessus, un lien symbolique peut être traité comme un fichier normal dans de nombreux cas (le lien, pas la cible).
rm
sur un lien symbolique le supprimera. Si le lien appartient à root, vous aurez besoin de Sudo.
Vous devriez pouvoir rm /usr/bin/ns
ou plutôt Sudo rm /usr/bin/ns
sans oublier la propriété.