Android

Como remover (excluir) links simbólicos no linux

Links Simbólicos, Hard links e o comando ln - Linux

Links Simbólicos, Hard links e o comando ln - Linux

Índice:

Anonim

Um link simbólico, também conhecido como link simbólico, é um tipo especial de arquivo que aponta para outro arquivo ou diretório. É algo como um atalho no Windows. Um link simbólico pode apontar para um arquivo ou diretório no mesmo sistema de arquivos ou partição.

Neste guia, mostraremos como remover (excluir) links simbólicos nos sistemas Linux / UNIX usando os comandos rm , unlink e find .

Antes de você começar

Para remover um link simbólico, você precisa ter permissões de gravação no diretório que contém o link simbólico. Caso contrário, você receberá o erro "Operação não permitida".

Quando você remove um link simbólico, o arquivo para o qual ele aponta não é afetado.

Use o comando ls -l para verificar se um determinado arquivo é um link simbólico e para localizar o arquivo ou diretório para o qual o link simbólico aponta.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

O primeiro caractere "l" indica que o arquivo é um link simbólico. O símbolo "->" mostra o arquivo para o qual o link simbólico aponta.

Remova os links simbólicos com rm

O comando rm remove determinados arquivos e diretórios.

Para excluir um link simbólico, chame o comando rm seguido pelo nome do link simbólico como argumento:

rm symlink_name

Em caso de sucesso, o comando sai com zero e não exibe saída.

Com o rm você pode excluir mais de um link simbólico ao mesmo tempo. Para fazer isso, passe os nomes dos links simbólicos como argumentos, separados por espaço:

rm symlink1 symlink2

Para ser solicitado antes de remover o link simbólico, use a opção -i :

rm -i symlink_name

Para confirmar, digite y e pressione Enter .

rm: remove symbolic link 'symlink_name'?

Se o link simbólico apontar para um diretório, não anexe a barra / à direita no final. Caso contrário, você receberá um erro:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

Se o nome do argumento terminar com / , o comando rm assumirá que o arquivo é um diretório. O erro ocorre porque, quando usado sem a opção -d ou -r , o rm não pode excluir diretórios.

Para estar do lado seguro, nunca -r opção ao remover links simbólicos com rm . Por exemplo, se você digitar:

rm -f symlink_to_dir/

O conteúdo do diretório de destino será excluído.

Remover links simbólicos com unlink

O comando unlink exclui um determinado arquivo. Ao contrário de rm , o unlink aceita apenas um único argumento.

Para excluir um link simbólico, execute o comando unlink seguido pelo nome do symlink como argumento:

unlink symlink_name

Se o comando for executado com sucesso, ele não exibirá saída.

Não anexe a barra / à direita no final do nome do link simbólico, pois a unlink não pode remover os diretórios.

Localizar e excluir links simbólicos quebrados

Para encontrar todos os links simbólicos quebrados em um determinado diretório, execute o seguinte comando:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

O comando listará todos os links quebrados no diretório e seus subdiretórios.

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

Depois de encontrar os links simbólicos quebrados, você pode removê-los manualmente com rm ou unlink ou usar a opção -delete do comando find :

find /path/to/directory -xtype l -delete

Conclusão

Para remover um link simbólico, use o comando rm ou unlink seguido pelo nome do link simbólico como argumento. Ao remover um link simbólico que aponta para um diretório, não acrescente uma barra à direita no nome do link simbólico.

rm desvincular encontrar terminal