INODE, Link Simbólico e Link Físico
Este artigo tem por objetivo simplificar o entendimento da diferença entre o link simbólico e o link físico (softlink e hardlink), bem como explicar o que é um inode e qual a sua função. Este mesmo conteúdo já foi explicado em forma de vídeo, caso você tenha interesse, basta clicar no link abaixo:
O que é um INODE?
Inode é uma estrutura de dados utilizada pelos sistemas de arquivos do Linux para organizar os dados e a sua localização.
Pense da seguinte forma: Acabei de transferir uma música do meu pendrive para o meu HD com Linux. Logo, esta música ficará gravada em um bloco do meu disco. Vamos dizer que é o 12591.
O inode é a estrutura que guardará o número do bloco do disco onde o dado se encontra e mais algumas informações como: owner, grupo owner, permissões, timestamp, etc.
Sabe as informações do “ls -l”? Sim, elas estão armazenadas dentro de um inode!
$ ls -l
Cada inode tem um número. Logo, cada arquivo tem um número de inode que pode ser verificado com o comando “ls -i”.
$ ls -i
Sempre que requisitarmos alguma informação, o primeiro carinha a ser contatado será o inode, que, por sua vez, vai ir até o bloco do disco para requisitar o dado!
O que é um LINK FÍSICO?
Bom, eu já expliquei o que é um inode antes pois o link físico se resume a isso, um apontamento para o mesmo inode. Vamos criar um na prática para você entender.
Vou criar um link físico para o arquivo .deb que tenho aqui:
$ ln NylasMail.deb NylasMail2.deb
Agora vamos ver a diferença entre eles:
$ ls -li NylasMail*
Veja bem, o inode (primeira coluna) é o mesmo! Lembra que falei acima que o inode guarda essas informações do “ls -l”? Pois bem, elas serão replicadas para o outro arquivo.
Veja que tem as mesmas permissões, mesmo owner, mesmo grupo, mesmo tamanho e mesma data de modificação.
Por que? Porque é o mesmo inode!
Mas não confunda o link físico com uma cópia, porque não é! Uma cópia criaria um novo inode.
Posso deletar qualquer um dos dois que vai continuar funcionando normalmente. A única coisa que muda no link físico é o link count, que nada mais é do que a contagem de links para o mesmo inode. Note que na imagem são 2.
O que é um LINK SIMBÓLICO?
O link simbólico, ao invés de ser um apontamento para o inode, é um apontamento para o arquivo. Vamos criar um na prática:
$ ln -s NylasMail.deb NylasMail3.deb
E veja o resultado:
O inode mudou, permissões, owner, grupo, timestamp. O mais legal, veja o tamanho do arquivo, muito menor. Podemos dizer que o link simbólico se assemelha ao atalho no Windows.
Lá no final da linha é até mostrado o link para o arquivo.
Bom pessoal, espero que tenha gostado deste artigo. Se gostarem, não esqueçam de compartilhar com os colegas em grupos de Linux. Este artigo pode ajudar muitas outras pessoas.
Me siga no Instagram onde eu faço conteúdos da minha rotina diária.
Participe dos nossos grupos no Telegram e Facebook! 🙂
Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!