Como deletar ou substituir um link simbólico já criado?

50

Estou trabalhando no meu projeto usando o simulador de rede2. Eu instalei e está tudo bem. Eu tentei criar um link simbólico entre esta instalação e /usr/bin , então eu poderia invocar o software executando ns a partir da linha de comando. Ou seja, eu corri:

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

que gerou a seguinte saída:

ln: creating symbolic link '/usr/bin/ns': File exists

Como posso deletar o link simbólico já criado ou posso substituí-lo por outros comandos?

    
por Vinay Challuru 15.11.2010 / 13:59

4 respostas

31
sudo rm -r /usr/bin/ns

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
    
por Paweł Karpiński 15.11.2010 / 14:02
56

ln tem -f opção que 'força' um link simbólico a ser criado, independente de existir ou não.

sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
    
por finley 15.11.2010 / 14:24
28

Eu tentei ln -sf durante a substituição, mas não funcionou para mim, mas ln -sfn directory link_name as root funcionou.

    
por user712092 25.10.2012 / 11:50
3

Para adicionar a todas as respostas acima, um link simbólico pode ser tratado como um arquivo normal em muitos casos (o link, não o destino).

rm em um link simbólico irá removê-lo. Se o link for de propriedade do root, você precisará sudo.

Você deve ser capaz de rm /usr/bin/ns ou melhor, sudo rm /usr/bin/ns não se esqueça da propriedade.

    
por Dmitriy Likhten 15.11.2010 / 16:13