Quando devo usar hard links em vez de soft links?

10

Estou prestes a começar a brincar com mklink , mas ainda estou tentando entender realmente essa coisa "symlink". Em particular, eu notei que existem dois tipos de links - "soft links" e "hard links" - mas eu estou tendo dificuldade em realmente entender a diferença entre os dois, ou porque eu deveria preferir um sobre o outro por qualquer dado caso de uso.

O máximo que eu consegui captar até agora é o seguinte:

  • Soft Links são tratados como ponteiros para o arquivo / pasta de destino.
  • Hard Links são tratados como se fossem realmente o arquivo / pasta de destino.

O que isso realmente significa em termos de como o sistema operacional e os aplicativos tratarão os links? Quais fatores devem ser pesados ao decidir se um ou outro deve ser usado?

O caso de uso atual que eu tenho é para obter o SkyDrive para sincronizar arquivos / pastas que estão fora do diretório real do SkyDrive . No entanto, eu preferiria que as respostas também incluíssem diretrizes gerais para referência futura.

    
por Iszi 03.07.2013 / 02:10

1 resposta

6

É possível ter softlinks pendentes, já que um softlink é um ponteiro para um arquivo.

Não é possível ter links rígidos pendentes. Cada arquivo tem pelo menos um link físico, ou seja, uma entrada de diretório no sistema de arquivos. Portanto, se você criar um arquivo e, em seguida, um link físico para ele e excluir o arquivo original, o link físico não será afetado.

Por causa disso, os hardlinks podem levar você a acreditar que, ao excluir um arquivo, ele realmente desapareceu, embora, a menos que você exclua TODOS os hardlinks, o arquivo ainda existirá. Na maioria das vezes, você deseja usar softlinks, a menos que queira aproveitar esse aspecto específico dos links de hardware.

    
por 03.07.2013 / 02:59