Thursday Feb 03, 2022

Diferença entre link Hard e Soft link

Os links em Unix são essencialmente os ponteiros que se associam aos ficheiros e directórios. A maior diferença entre um link rígido e um soft link é que o hard link é a referência directa ao ficheiro, enquanto o soft link é a referência pelo nome, o que significa que aponta para um ficheiro pelo nome do ficheiro.

O link duro liga os ficheiros e directórios no mesmo sistema de ficheiros, mas o soft link pode atravessar os limites do sistema de ficheiros.

Antes de entender os links devemos primeiro entender inode, um inode é uma estrutura de dados composta de metadados sobre o arquivo como data de criação do arquivo, autorizações do arquivo, dono do arquivo e mais.

Conteúdo: Hard link Vs Soft link

  1. Gráfico de comparação
  2. Definição
  3. Diferenças-chave
  4. Conclusão

Gráfico de comparação

Basis para comparação Link duro Link suave
Basic Um arquivo pode ser acessado através de muitos nomes diferentes conhecidos como links duros. Um ficheiro pode ser acedido através de diferentes referências apontando para esse ficheiro é conhecido como soft link.
Validação de link, quando o ficheiro original é apagado Permanece válido e o ficheiro pode ser acedido. Inválido
Comando usado para criação ln ln -s
Número de inode Same Diferente
Pode ser ligado à sua própria partição. A qualquer outro sistema de ficheiros mesmo ligado em rede.
Consumo de memória Menos Mais
Caminho Relativo Não aplicável Mitido

Definição de link rígido

Ligações difíceis ligam directamente dois ficheiros no mesmo sistema de ficheiros e para identificação utiliza o número de inode do ficheiro. Links rígidos não podem ser implementados em diretórios (pois eles apontam para inode). Quando o comando “ln” é utilizado para gerar um link rígido, ele cria outro arquivo na linha de comando que pode ser utilizado para referenciar o arquivo original. Tanto o arquivo original como o gerado têm o mesmo inode e conteúdo; portanto eles terão as mesmas permissões e o mesmo dono.

A remoção do arquivo original não influencia o arquivo hard linked, e um arquivo hard linked permanecerá. O inode contém um contador, para calcular o número de ligações a si mesmo. Quando o contador indica o valor 0, então o inode é esvaziado. Sempre que você fizer qualquer alteração no link rígido, ele irá imitar no arquivo original.

Definição de link Soft

Ligações Soft são normalmente um caminho alternativo (ou um alias) para o arquivo original; estes também são referidos como links simbólicos. Ele inclui o nome do “target file” do link, flag que especifica que é um soft link. Quando um ficheiro é acedido, o soft link redirecciona-o para o ficheiro de destino através do caminho escrito no assunto do soft link.

Estes são muito úteis no caso do SO Windows onde o soft link se comporta como atalhos. A criação e eliminação dos soft links não afecta o ficheiro original. Se o ficheiro de destino for apagado, o soft link não aponta para lado nenhum e gera uma mensagem de erro quando o ficheiro de destino é acedido. Os links soft não utilizam o número do inode, ao contrário dos links rígidos. Um caminho absoluto ou relativo pode fazer parte dos links simbólicos.

Key Differences Between Hard link and Soft link

  1. A hard link é um nome adicional do ficheiro original que se refere ao inode para aceder ao ficheiro de destino. Em contraste, o link soft é distinto do ficheiro original e é um alias do ficheiro original mas não utiliza o inode.
  2. Quando um ficheiro original é eliminado o link soft torna-se inválido enquanto que um link hard é válido mesmo que o ficheiro alvo seja eliminado.
  3. No Linux, o comando utilizado para a criação do link hard é “ln”. Ao contrário, o comando usado para um link soft é “ln -s”.
  4. Link duro tem o mesmo número de inode diferente do link soft, onde o ficheiro de destino e o seu link soft têm um número de inode distinto.
  5. Link duro é restrito às suas próprias partições, mas os links soft podem cobrir diferentes sistemas de ficheiros.
  6. O desempenho do link duro é melhor que o do link soft em alguns casos.
  7. Caminho relativo e caminho absoluto ambos são permitidos em links soft. Pelo contrário, o caminho relativo não é permitido em um link rígido.

Conclusão

Um link rígido não requer espaço extra e resolução mais rápida, mas as mudanças aplicadas a um link rígido refletem no arquivo original. Por outro lado, o link soft precisa de espaço extra, mas qualquer alteração no link soft não tem impacto no arquivo original. Os links soft são permitidos para diretórios diferentes do link Hard.

Deixe uma resposta

O seu endereço de email não será publicado.

Back to Top