A Linux considera todo un archivo, incluidos dispositivos de hardware, impresoras, directorios y procesos. Cualquier texto, música, vídeo, imagen o cualquier archivo multimedia se considera un archivo normal. Todo el archivo regular contiene metadatos sobre el archivo que describen todo sobre el archivo como, tipo, Inodo, etc.
Un inodo es una entrada en la tabla de inodos, que contiene información (los metadatos) sobre un archivo y un directorio normales. Un inodo es una estructura de datos en un sistema de archivos de estilo Unix tradicional como Ext3 o Ext4.
Qué es el número de inodo en Linux
Número de inodo también llamado número de índice, consiste en los siguientes atributos de cualquier archivo:
- Tipos de archivo ( ejecutable, bloque especial, etc. )
- Permisos ( lectura, escritura, etc. )
- UID ( Propietario )
- GID ( Grupo )
- Tamaño de archivo
- Marcas de tiempo que incluyen el último acceso, la última modificación y el último inodo cambio de número.
- Tiempo de eliminación de archivos
- Número de enlaces (suave/duro )
- Ubicación de ile en el disco duro.
- Algunos otros metadatos sobre el archivo.
Comprobar Inodos en el sistema de archivos
Puede encontrar un número total de inodos en el disco utilizando la opción ‘-i’ con el comando df.
df -i /dev/sda1Filesystem Inodes IUsed IFree IUse% Mounted on/dev/vda1 1536000 138846 1397154 10% /
El siguiente comando muestra el número total de Inodes en el sistema de archivos, usos y detalles de inodes libres. En caso de que haya inodos llenos en cualquier sistema de archivos, no puede crear un nuevo archivo en el disco aunque tenga suficiente espacio libre. Por lo tanto, cada sistema de archivos debe tener disco libre e inodos para crear archivos.
Buscar el número de inodo del archivo
Para comprobar el número de inodo del archivo, utilice el siguiente comando. El primer campo en la salida es un número de inodo del archivo.
ls -il myfile.txt1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
También puede buscar un archivo con un número de inodo utilizando el comando find. Por ejemplo:
find /home/rahul -inum 1150561/home/rahul/myfile.txt
El inodo cambia con Copiar, Mover y Eliminar
Qué sucede con el número de inodo al copiar, mover o eliminar un archivo en el sistema de archivos.
Archivo de copia: cp asigna un número de inodo libre y coloca una nueva entrada en la tabla de inodos.
### Check inode of existing file ls -il myfile.txt1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt### Copy file with new name cp myfile.txt myfile_new.txt### Check inode number of new file. Its changed ls -il myfile_new.txt1150562 -rw-r--r-- 1 root root 0 Mar 10 01:09 myfile_new.txt
Mover o cambiar el nombre de un archivo: si el destino es el mismo sistema de archivos que el origen, no tiene impacto en el número de inodos, solo cambia las marcas de tiempo en la tabla de inodos.
### Check inode of existing file ls -il myfile.txt1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt### Moved file to another directory mv myfile.txt /opt/### Check inode number of moved file. No change in inode ls -il /opt/myfile.txt1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 /opt/myfile.txt
Eliminar un archivo: Eliminar un archivo en Linux disminuye el número de enlaces y libera el número de inodo para ser reutilizado.
Los inodos libres en el sistema de archivos
En el caso de los inodos están llenos. Es necesario eliminar los archivos no utilizados del sistema de archivos para liberarlos de inodos. No hay opción para aumentar / disminuir los inodos en el disco. Solo se crea durante la creación del sistema de archivos en cualquier disco.