Questão Como remover um link simbólico para um diretório?


Eu fiz um link simbólico com o seguinte comando:

ln -s ../test5

Eu quero removê-lo agora mas meu rm falha:

$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory

$ls -l
 0 lrwxrwxrwx  1 peter peter    8 Jul 20 15:30 test5 -> ../test5/

Como posso remover meu link simbólico? (Ubuntu 8.10, bash)


91


origem


GORJETA: rm -r link/ exclui o conteúdo no destino - Gayan Weerakutti


Respostas:


Remova a barra final:

Com prompt:

$ rm test5

Sem aviso:

$ rm -f test5


115



Diz permission denied. - 1.21 gigawatts
Sem barra. assim test5/ está incorreto. - pylover


Experimentar rm test5
(sem a barra de treinamento).

A barra indica que 'test5' é um direactory, enquanto na verdade é um arquivo ligando para um diretório.


18





Você pode executar a remoção da barra final:

$ rm test5

Isso removerá o arquivo (ou seja, o link simbólico).

Alternativamente, você pode usar o unlink:

$ unlink test5

Novamente, você deve omitir a barra final desde que você está tentando desvincular o link simbólico não o diretório.


11





Às vezes, se você usar o preenchimento automático para nomear o link que deseja excluir, talvez não veja uma barra à direita, mas está na metade e a barra invisível ainda apresenta o erro de exclusão ao tentar remover esse link.

Então, nesse caso, digite caractere por caractere no link a ser excluído como "test5" como por exemplo. rm test5.


0



Nunca ouvi falar de barra invisível. O que shell faz isso? - Kamil Maciorowski
Eu acho que é possivelmente uma referência ao personagem sendo escondido por linewrap + cursor? - bertieb


Eu me sinto bobo perguntando, mas você já tentou rm -r? Como é um link simbólico, ele não deve excluir o alvo.

Edit: Apenas tentei, é correto

Edit 2: rmdir diz que em sua primeira linha da página man ele apaga diretórios vazios. Eu acho que porque é um link que o bit de diretório verificou em suas propriedades de arquivo, mas porque o rmdir não suspeita que seja o caso, ele cospe erros. Apenas use rm -r


-2



Isso vai me pedir para apagar os arquivos no diretório, isso não é o que eu quero, eu quero apagar apenas o link - Peter Smit
A pergunta foi porque interativa foi definida no meu .profile. Adicionado a resposta para rm -r. Ainda não funciona. - Peter Smit
Você deixou o trailing '/' é por isso que ele falhou - bobby