Pesquisa de site

Como criar links físicos e simbólicos no Linux


Em sistemas operacionais do tipo Unix, como o Linux, “tudo é um arquivo” e um arquivo é fundamentalmente um link para um inode (uma estrutura de dados que armazena tudo sobre um arquivo, exceto seu nome e conteúdo real).

Um link físico é um arquivo que aponta para o mesmo inode subjacente de outro arquivo. Caso você exclua um arquivo, um link para o inode subjacente será removido. Considerando que um link simbólico (também conhecido como soft link) é um link para outro nome de arquivo no sistema de arquivos.

Leia também: Como executar o gerenciamento de arquivos e diretórios

Outra diferença importante entre os dois tipos de links é que os links físicos só podem funcionar no mesmo sistema de arquivos, enquanto os links simbólicos podem passar por sistemas de arquivos diferentes.

Como criar links físicos no Linux

Para criar hard links no Linux, usaremos o utilitário ln. Por exemplo, o comando a seguir cria um link físico denominado tp para o arquivo topprocs.sh.

ls -l
ln topprocs.sh tp
ls -l

Observando a saída acima, usando o comando ls, o novo arquivo não é indicado como um link, é mostrado como um arquivo normal. Isto implica que tp é apenas outro arquivo executável regular que aponta para o mesmo inode subjacente que topprocs.sh.

Para transformar um link físico diretamente em um link virtual, use o sinalizador -P como este.

ln -P topprocs.sh tp

Como criar links simbólicos no Linux

Para criar links simbólicos no Linux, usaremos o mesmo utilitário ln com a opção -s. Por exemplo, o comando a seguir cria um link simbólico denominado topps.sh para o arquivo topprocs.sh.

ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh

Na saída acima, você pode ver na seção de permissões de arquivo que topps.sh é um link indicado por l:, o que significa que é um link para outro nome de arquivo.

Se o link simbólico já existir, você poderá receber um erro, para forçar a operação (remover o link simbólico existente), use a opção -f.

ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh

Para ativar o modo detalhado, adicione o sinalizador -v para imprimir o nome de cada arquivo vinculado na saída.

ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh

É isso! Confira os seguintes artigos relacionados.

  1. fdupes – Uma ferramenta de linha de comando para localizar e excluir arquivos duplicados no Linux
  2. 5 comandos úteis para gerenciar tipos de arquivos e hora do sistema no Linux

Neste artigo, aprendemos como criar links físicos e simbólicos no Linux. Você pode fazer qualquer pergunta ou compartilhar suas idéias sobre este guia por meio do formulário de feedback abaixo.