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.)