Sobes.tech
Junior — Middle

Qual é a diferença entre um link duro e um link simbólico no Linux e quais são as suas características de uso?

sobes.tech IA

Resposta da IA

Um link físico (hard link) e um link simbólico (symlink) são duas formas de criar ligações a ficheiros no Linux, mas diferem no seu princípio de funcionamento e aplicação:

  • Link físico:

    • É um nome adicional para um ficheiro existente.
    • Aponta diretamente para o inode do ficheiro.
    • Vários links físicos a um mesmo ficheiro são iguais: o ficheiro existe enquanto houver pelo menos um link.
    • Não é possível criar um link físico para um diretório (para evitar ciclos).
    • Não é possível criar um link físico para um ficheiro noutra partição ou dispositivo.
  • Link simbólico:

    • É um ficheiro separado que contém o caminho para outro ficheiro ou diretório.
    • Pode apontar para diretórios e ficheiros noutras partições.
    • Se o ficheiro de destino for eliminado, o link simbólico torna-se "quebrado" (não funciona mais).

Exemplo de uso:

# Criar um link físico
ln original.txt hardlink.txt

# Criar um link simbólico
ln -s /caminho/para/original.txt symlink.txt

Os links físicos são úteis quando se precisa de ter vários nomes para um mesmo ficheiro dentro da mesma partição, e os links simbólicos quando se deseja fazer referência a ficheiros ou diretórios em diferentes locais ou partições.