Los sistemas de archivos de Linux son cosas complicadas de entender, especialmente cuando te metes en la maleza de los datos y metadatos. Cada vez que ejecuta el ls
comando y vea el resultado (archivos enumerados, permisos, propiedad de la cuenta, etc.) comprenda que los datos sobre los archivos que ve están almacenados en algún lugar separado de los propios archivos y deben recuperarse. Los inodos están detrás de escena trabajando duro, así que no tienes que hacerlo. Echemos un vistazo a qué es exactamente un inodo y qué hace por nosotros.
¿Qué es un inodo?
Por definición, un inodo es un nodo de índice. Sirve como un identificador único para una pieza específica de metadatos en un sistema de archivos dado. Cada pieza de metadatos describe lo que consideramos un archivo. Así es, los inodos operan en cada sistema de archivos, independientemente de los demás. Donde esto se vuelve confuso es cuando te das cuenta de que cada inodo se almacena en una tabla común. En resumen, cada sistema de archivos montado en su computadora tiene sus propios inodos. Un número de inodo puede usarse más de una vez, pero nunca por el mismo sistema de archivos. La identificación del sistema de archivos se combina con el número de inodo para crear una etiqueta de identificación única.
¿Cuántos inodos hay?
Si no le interesan las matemáticas, puede omitir esta sección. Hay muchos inodos en cada sistema y hay un par de números a tener en cuenta. En primer lugar, y menos importante, el número máximo teórico de inodos es igual a 2^32 (aproximadamente 4300 millones de inodos). En segundo lugar, y mucho más importante, está la cantidad de inodos en su sistema. Generalmente, la proporción de inodos es de 1:16 KB de capacidad del sistema. Obviamente, cada sistema es diferente, por lo que debe hacer los cálculos usted mismo.
Uso avanzado
Hay buenas noticias para aquellos de ustedes que son reacios a las matemáticas:"Hay un comando para eso". Para verificar la cantidad de inodos en su sistema, puede usar -i
opción con el df
comando, como se ve aquí:
[tcarrigan@rhel ~]$ df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 312 523976 1% /boot
Puede ver en la sintaxis del comando y el resultado anterior que ejecutamos df -i
en el sistema de archivos /dev/sda1
. Hay un total de 524 288 inodos en este sistema de archivos, de los cuales solo se usan 312 (alrededor del 1%).
Inodo a nivel de archivo
También podemos mirar el número de inodo de un archivo específico. Para hacer esto, usamos el ls -i
comando en el archivo deseado. Por ejemplo:
[tcarrigan@rhel my_articles]$ ls -i Creating_volume_groups
1459027 Creating_volume_groups
El número de inodo para este archivo es 1459027 .
Inodo a nivel de directorio
Al igual que con los archivos, también podemos ver el inodo de un directorio. Para hacer esto, usamos el ls -i
comando de nuevo con algunas opciones adicionales. Por ejemplo:
[tcarrigan@rhel article_submissions]$ ls -idl my_articles/
352757 drwxrwxr-x. 2 tcarrigan tcarrigan 69 Apr 7 11:31 my_articles/
Puedes ver que usamos -i
(inodos) así como -l
(formato largo) y -d
(directorio). Estas banderas nos presentan una plétora de información sobre my_articles directorio, incluido el número de inodo, permisos, propiedad, etc.
Resumen
Los inodos son un excelente lugar para comenzar si está interesado en aprender más sobre los sistemas de archivos y sus estructuras. Es importante saber cómo se etiquetan e indexan las unidades más pequeñas de datos. Se pueden realizar algunas operaciones mucho más avanzadas con respecto a los inodos. Por ejemplo, puede abrir un inodo y leer el contenido del archivo. Esta capacidad le brinda una visión aún más profunda de los metadatos que se almacenan allí. Con suerte, esta mirada de alto nivel le proporciona una línea de base para su exploración de inodos.
[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ]