Como remover um link simbólico duplicado

2

Eu acidentalmente criei um link para uma pasta no mesmo diretório com o mesmo nome da pasta, e não sei como removê-la com segurança sem remover a pasta real.

# ls -l
total 4
lrwxrwxrwx 1 root root   26 Oct  8 19:36 monbodb-linux-x86_64-2.0.2 -> monbodb-linux-x86_64-2.0.2
lrwxrwxrwx 1 root root   27 May 23 14:58 mongo -> mongodb-linux-x86_64-2.0.2/
drwxr-xr-x 4 root root 4096 Oct  8 19:37 mongodb-linux-x86_64-2.0.2

Se eu tentar desvincular, recebo o seguinte, e é por isso que estou preocupado em tentar atualizá-lo:

# unlink mongodb-linux-x86_64-2.0.2
unlink: cannot unlink 'mongodb-linux-x86_64-2.0.2': Is a directory

Como posso especificar o link simbólico para que eu apenas o exclua e não a pasta?

    
por Brendan 09.10.2012 / 18:24

2 respostas

1
unlink monbodb-linux-x86_64-2.0.2

Você está tentando desvincular o diretório atual, não o link simbólico. Eles têm nomes diferentes - é impossível ter dois itens com nomes idênticos no mesmo diretório.

    
por 09.10.2012 / 18:28
0

Geralmente, para isso, você pode usar o número do inode, que será garantido como único.

ls -iF

(obtenha o número de inode do symlink, digamos 123456)

find . -inum 123456 -exec rm -i {} \;
    
por 09.10.2012 / 18:41