O que é o número do inode no Linux?

O que é o número do inode no Linux?

Blocos de dados e inodos são os dois elementos de um sistema de arquivos no Linux. Depois que o arquivo é criado, você não pode alterar o número de blocos. Os inodos são alocados para arquivos escritos em sistemas de arquivos Linux. O banco de dados do sistema de arquivos emprega esses números de identificação exclusivos para acompanhar os arquivos. Eles lidam com as informações de um arquivo e são componentes críticos da arquitetura Linux. Neste artigo, estudaremos o número de inode em detalhes.

O que é o número do inode no Linux

No Linux, sempre que um novo arquivo é criado, ele recebe um nome de arquivo e um número de inode. Este número funciona como o identificador exclusivo para esse arquivo. Como usuário, você usará o nome do arquivo para acessar o arquivo, mas o Linux primeiro mapeará esse nome de arquivo com um número de inode em um banco de dados para acessar o arquivo.

Nas palavras básicas, um número de inode é como um número de índice de um livro. Você pode localizar rapidamente os capítulos que deseja ler navegando na página de índice. Você não poderá descobrir as informações adequadas sem uma página de índice e terá que passar por todo o livro para encontrar um determinado assunto, que é uma completa perda de tempo. O mesmo se aplica aos inodos no Linux. Um inode é uma estrutura de dados que os pontos se referem aos blocos individuais, tornando o arquivo. Todos os dados administrativos necessários para ler um arquivo estão incluídos no inode. Os metadados para cada arquivo são mantidos em inodos em uma estrutura de tabela e esses dados incluem:

  • Tipos de arquivo (executável, bloco especial etc)
  • Permissões (leia, escreva etc)
  • Uid (proprietário)
  • GID (grupo)
  • Tamanho do arquivo
  • Carimbos de hora, incluindo o último acesso, a última modificação e a última alteração do número de inode.
  • Tempo de exclusão de arquivo
  • Número de links (suave/duro)
  • Localização de Ile em Harddisk.
  • Alguns outros metadados sobre o arquivo.

Uma coisa a ter em mente é que, exceto o nome do arquivo e o conteúdo real, eles mantêm todas as informações conectadas a um arquivo. Os inodos estão localizados no início da partição. Quando você se refere a um arquivo pelo nome, o sistema procura o inode apropriado no arquivo de entrada do diretório onde reside. Isso fornece ao seu sistema as informações necessárias e os dados do arquivo para executar qualquer operação.

Por que precisamos de inodos?

Os dados são salvos no seu disco rígido em blocos de tamanho fixo. Se você salvar um arquivo maior que um bloco normal, seu computador procurará o próximo segmento disponível para salvar o restante do arquivo. Isso pode se tornar difícil e confuso com o tempo. E os inodos podem ajudá -lo aqui.

Embora eles não armazenem nenhum dos dados reais do arquivo, eles salvam seus metadados, que inclui todos os blocos de armazenamento onde o conteúdo do arquivo pode estar localizado. Os nomes de arquivos não têm efeito nos inodos. Isso significa que você pode duplicar um arquivo, renomeá -lo e ainda se referirá ao mesmo inode original.

Verifique os inodos em um sistema de arquivos

Você pode encontrar um número total de inodos no disco usando '-eu'opção com df comando.

df -i /dev /sda1  
Saída: Inodes de sistema de arquivos iuse iUse% montado em /dev /sda1 1536000 138846 1397154 10% / 

O comando acima mostra o número total de inodos em /dev/sda1 sistema de arquivo. Também fornece os detalhes sobre inodos usados ​​e gratuitos.

Cada sistema de arquivos obrigatória deve ser gratuito disponível para criar um novo arquivo. Se os inodos estiverem cheios, o sistema não permitirá que você crie um novo arquivo.

Encontre o número de inode de arquivo

Você pode encontrar o número de inode qualquer arquivo usando -eu Parâmetro da linha de comando com o comando LS.

LS -Il MyFile.TXT  

O primeiro campo na saída é um número de inode do arquivo.

Saída: 1150561 -RW-R-R-- 1 Raiz 0 de março 01:06 MyFile.TXT 

Você também pode pesquisar o arquivo com um número de inode usando o comando find. Por exemplo:

LINDO /HOME /RAHUL -NUM 1150561  
Saída:/home/rahul/myfile.TXT 

Inode mudanças com cópia, movimentação e exclusão

O que acontece com o número do inode quando você copia, move ou exclua um arquivo no sistema de arquivos.

  • Arquivo de copiar: CP aloca um número de inode gratuito e crie uma nova entrada na tabela inode.
    ### Verifique o inode do arquivo existente  LS -Il MyFile.TXT  1150561 -RW-R-R-- 1 raiz 0 de março 10 01:06 MyFile.txt ### copie arquivo com novo nome  cp myfile.txt myfile_new.TXT  ### Verifique o número do inode de novo arquivo. Está mudado  ls -il myfile_new.TXT  1150562 -RW-R-R-- 1 raiz 0 de março 10 01:09 MyFile_New.TXT 
  • Mova ou renomeie um arquivo: Se o destino for o mesmo sistema de arquivos que a fonte, não terá impacto no número do inode, ele apenas altera os carimbos de hora na tabela de inode.
    ### Verifique o inode do arquivo existente  LS -Il MyFile.TXT  1150561 -RW-R-R-- 1 raiz 0 de março 10 01:06 MyFile.txt ### moveu o arquivo para outro diretório  mv myfile.txt /opt /  ### Verifique o número do arquivo movido. Sem mudança de inode  ls -il /opt /myfile.TXT  1150561 -RW-R-R-- 1 raiz 0 de março 10 01:06 /opt /myfile.TXT 
  • Exclua um arquivo: Depois de excluir um arquivo no Linux diminui a contagem de links e liberte o número do inode a ser reutilizado.

O que fazer caso você fique sem números de inode?

Às vezes, seu sistema pode ficar sem números de inode, e você pode encontrar dificuldades como nenhum espaço para escrever novos dados, reinicialização frequente, perda de dados, congelamento de aplicativos e não conseguir fazer login no sistema. Nesse caso, é recomendável excluir os arquivos não utilizados.

Empacotando

Neste artigo, aprendemos sobre o número de inode no Linux e também realizamos operações diferentes em inodos.