Quais são as vantagens dos links simbólicos sobre hard links e vice-versa?

8

Eu entendo as diferenças entre links simbólicos e hard links, mas nunca entendi porque escolher um ou outro.

    
por Javier 08.09.2009 / 20:03

4 respostas

8

Isso tem discutido com algum detalhe no ServerFault.

Um hard link tradicionalmente compartilha as mesmas estruturas de sistema de arquivos (inode in unixspeak), enquanto um soft-link é um redirecionamento de nome de caminho.

  • Os hardlinks devem estar no mesmo sistema de arquivos, os softlinks podem cruzar sistemas de arquivos.
  • Os arquivos vinculados permanecem vinculados, mesmo se você mover um deles (a menos que você mova um para outro sistema de arquivos que aciona o mecanismo de cópia e exclusão). Arquivos com link de software quebram se você mover o alvo (original) e, às vezes, quando você move o link (Você usou um caminho absoluto ou relativo? Ele ainda é válido?).
  • Os arquivos vinculados são iguais, enquanto o original é especial em softlinks e a exclusão do original exclui os dados. Os dados não desaparecem até que os todos hardlinks sejam excluídos.
  • Softlinks podem apontar para qualquer destino, mas a maioria dos sistemas de arquivos / OS desabilita diretórios de linkagem para evitar ciclos no gráfico do sistema de arquivos (com exceção das entradas . e .. em diretórios unix que são hard links).
  • Os softlinks podem exigir suporte especial das ferramentas de caminhada do sistema de arquivos. Leia sobre readlink (2) .

(Alguns detalhes são lembrados por mat1t . Obrigado.)

    
por 08.09.2009 / 20:24
9

Ronald diz que um link físico pode ter permissões diferentes em dois lugares. Isto não está certo. Ambos os lugares compartilham o mesmo inode. As permissões estão vinculadas ao inode, não ao nome do arquivo. Então hardlinks em dois lugares têm exatamente as mesmas permissões, tempos de acesso, ...

    
por 09.09.2009 / 02:11
1

links simbólicos podem cruzar sistemas de arquivos, links físicos não podem. Se você excluir o arquivo original, o hardlink ainda o manterá ativo, um link simbólico não.

    
por 08.09.2009 / 20:13
0

Um link físico significa essencialmente que o arquivo reside em dois lugares, pode ter permissões diferentes, você pode excluí-lo no lugar, mas não no outro.

Um link suave é apenas um ponteiro para a coisa real.

Um link físico é duas (ou mais) entradas de diretório apontando para o mesmo arquivo. Um link suave é uma entrada de diretório apontando para outra entrada de diretório.

    
por 08.09.2009 / 22:26