Diferença entre Soft Link e Hard Link em UNIX no SO

Um link no sistema baseado em UNIX é usado para estabelecer a conexão entre um arquivo e os dados reais no disco. É mais como um ponteiro ou uma referência que aponta para outro arquivo ou diretório, assim como o conceito de ponteiros em linguagens de programação.

Digamos que um arquivo tenha um nome muito longo e, por alguns motivos, ele não possa ser alterado. No UNIX, podemos nos referir ao arquivo com uma referência usando um nome mais curto para facilitar o uso. Essas referências ao mesmo arquivo no UNIX são chamadas de links. Simplificando, um link é um meio de se referir ao conteúdo de um arquivo.



Existem dois tipos de links usados ​​no UNIX: Soft Links e Hard Links. Ambos são usados ​​basicamente para o mesmo propósito, exceto pela maneira como se comportam.

O que é um Soft Link?

Um Soft Link, ou rosa simbólico, é um pequeno arquivo de ponteiro que associa um nome de arquivo ao nome do caminho. Não é nada além de um atalho para o arquivo original, semelhante à opção de atalho nos sistemas operacionais Windows. Ele simplesmente serve como uma referência a outro arquivo ou diretório sem o conteúdo real do arquivo, tornando mais fácil para você simplesmente excluir os links simbólicos, sem mesmo afetar o conteúdo do arquivo ou diretório original.



Em termos simples, um link simbólico é geralmente um apelido para o arquivo original que redireciona para o arquivo ou diretório de destino quando acessado por meio do nome do caminho especificado no assunto do link simbólico. Além disso, você pode usar links virtuais para conectar-se ao sistema de arquivos.

O que é um Hard Link?

Um Hard Link é simplesmente uma réplica do arquivo original que serve como uma referência ou um ponteiro para o mesmo arquivo, facilitando o acesso até mesmo se o arquivo original for removido ou movido de seu local original. Ao contrário dos links físicos, as alterações feitas nos arquivos com link físico terão efeito em outros arquivos e o link físico ainda funcionará mesmo se você excluir o arquivo de origem do sistema.



Os links físicos compartilham o mesmo valor de Inode e, ao contrário dos links simbólicos, eles apontam para o local do arquivo em vez do diretório. Geralmente é usado em sistemas de arquivos que permitem mais do que um link físico para o mesmo arquivo. Simplificando, um link físico é apenas um nome adicional para um arquivo já existente em sistemas baseados em UNIX.

Diferença entre Soft Link e Hard Link no UNIX

Significado

Um link simbólico, também denominado link simbólico, é um ponteiro especial que estabelece links entre arquivos. É muito semelhante ao recurso de atalho disponível nos sistemas operacionais Windows. Um link virtual é simplesmente um atalho de um arquivo que serve como referência para outro arquivo ou diretório. Um link físico é muito diferente de um link simbólico. Ele serve como uma referência ou ponteiro para o arquivo original, o que significa que é a cópia espelhada exata do arquivo original para o qual está apontando. Simplificando, um link físico é apenas um nome adicional para um arquivo já existente.

Comportamento

Como um arquivo com link de software contém um valor de Inode separado apontando para o arquivo original, o link se torna inacessível se o arquivo ou diretório original for removido do sistema. É apenas um atalho para um arquivo para que você possa excluir os links virtuais sem realmente afetar o arquivo ou diretório original. Ao contrário dos links físicos, os links físicos compartilham o mesmo valor Inode que o original apontando para o mesmo local do arquivo. Os links físicos são mais flexíveis do que os links simbólicos porque você pode acessar o arquivo mesmo se o arquivo original for removido do sistema.



Comando

Para estabelecer links entre arquivos em sistemas baseados em UNIX, você precisa usar o comando “In”. Um link simbólico se refere a um caminho simbólico que indica a localização do arquivo original, mas não o conteúdo. Um link virtual é criado usando um comando “In -s”.

Em - s

Aqui, você substituiria o 'arquivo_de_origem' pelo arquivo original para o qual deseja criar um link simbólico e 'meuarquivo' pelo nome do link simbólico ou link simbólico e o comando In -s cria o link simbólico para um arquivo nome, ambos no diretório atual.

Por outro lado, o comando “In” é usado para criar um link físico. O comando In é um comando padrão do UNIX usado para criar um link físico para apontar para vários arquivos com o mesmo nome.

Dentro

Estrutura

Ao contrário dos links virtuais, que podem ser usados ​​para vincular arquivos e diretórios, os links físicos só podem vincular arquivos, mas não diretórios. A diferença dá aos links físicos certas qualidades que os links físicos não têm, como a capacidade de linkar no sistema de arquivos. A criação e exclusão de links simbólicos não afetará o arquivo original. Os links físicos, por outro lado, não podem ser usados ​​para vincular arquivos fora do sistema de arquivos. Os links físicos compartilham o mesmo valor Inode com o conteúdo real do arquivo, portanto, a remoção de qualquer link não afetará os outros links e ainda mostrará o conteúdo do arquivo.

Soft Link vs. Hard Link: Gráfico de Comparação

Resumo de Soft Link vs. Hard Link

Resumindo, tanto os links físicos quanto os links físicos permitem que mais de um nome de arquivo se refira ao mesmo arquivo em outro lugar, mas a diferença está na maneira como eles se comportam quando o link de origem é removido do sistema. Um link físico ocupa menos espaço do que um link simbólico, mas qualquer alteração feita no link físico acabará refletindo no arquivo original, ao passo que quaisquer alterações no link simbólico não terão nenhum efeito no arquivo original. Um link simbólico é como um recurso de atalho do sistema operacional Windows usado como um alias para se referir ao arquivo ou diretório original, enquanto um link físico é como uma réplica do arquivo original que vincula dois arquivos no mesmo sistema de arquivos.