Comment supprimer ou remplacer un lien symbolique déjà créé?

51

Je travaille sur mon projet en utilisant le simulateur de réseau2. 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 supprimer le lien symbolique déjà créé ou puis-je le remplacer par d’autres commandes?

    
posée Vinay 15.11.2010 - 13:59
la source

4 réponses

32
sudo rm -r /usr/bin/ns

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
    
réponse donnée Paweł Karpiński 15.11.2010 - 14:02
la source
56

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
    
réponse donnée finley 15.11.2010 - 14:24
la source
28

J'ai essayé ln -sf en remplaçant mais cela n'a pas fonctionné pour moi, mais en faisant ln -sfn directory link_name comme root travaillait.

    
réponse donnée user712092 25.10.2012 - 11:50
la source
3

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 ne pas oublier la propriété.

    
réponse donnée Dmitriy Likhten 15.11.2010 - 16:13
la source

Lire d'autres questions sur les étiquettes