inode, link simbólico e link físico

Posted By , April 23rd, 2018

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.

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: Transferi 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

inode mateus 01 | OUTCERT

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

inode mateus 02 | OUTCERT

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*

inode mateus 03 | OUTCERT

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 apontamente para o arquivo. Vamos criar um na prática:

  • $ ln -s NylasMail.deb NylasMail3.deb

E veja o resultado:

inode mateus 04 | OUTCERT

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 ter ajudado vocês a entenderem um pouco melhor sobre esse conteúdo, abraço!

Leave a Reply

Your email address will not be published. Required fields are marked *