Un Linux considère tout comme un fichier, y compris les périphériques matériels, les imprimantes, les répertoires et les processus. Tout fichier texte, musical, vidéo, image ou multimédia est considéré comme un fichier normal. Tout le fichier normal contient des métadonnées sur le fichier qui décrivent tout sur le fichier comme le type, l'inode, etc.
Dans ce tutoriel, nous discuterons du numéro d'inode sous Linux. Comment trouver le numéro d'inode d'un fichier ? Qu'est-il arrivé au numéro d'inode lorsque nous copions, déplaçons ou supprimons un fichier.
Qu'est-ce qu'un numéro d'inode sous Linux
Un inode est un numéro d'identification unique attribué à chaque fichier sous Linux. Qui est stocké dans une table appelée table Inode, qui contient les métadonnées d'un fichier.
Numéro d'inode également appelé numéro d'index, il se compose des attributs suivants de tout fichier :
- Types de fichiers (exécutable, bloc spécial, etc.)
- Autorisations (lecture, écriture, etc.)
- UID ( Propriétaire )
- GID ( Groupe )
- Taille du fichier
- Horodatages incluant le dernier accès, la dernière modification et le dernier changement de numéro d'inode.
- Heure de suppression du fichier
- Nombre de liens (soft/hard)
- Emplacement du fichier sur le disque dur.
- Quelques autres métadonnées sur le fichier.
Vérifier les inodes sur un système de fichiers
Vous pouvez trouver un nombre total d'inodes sur le disque en utilisant '-i 'option avec df commande.
df -i /dev/sda1
Output: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1536000 138846 1397154 10% /
La commande ci-dessus affiche le nombre total d'inodes sur /dev/sda1 système de fichiers. Fournit également des détails sur les inodes utilisés et libres.
Chaque système de fichiers doit avoir des inodes libres disponibles pour créer un nouveau fichier. Si les inodes sont pleins, le système ne vous permettra pas de créer un nouveau fichier.
Trouver le numéro d'inode du fichier
Vous pouvez trouver le numéro d'inode de n'importe quel fichier en utilisant -i paramètre de ligne de commande avec la commande ls.
ls -il myfile.txt
Le premier champ en sortie est un numéro d'inode du fichier.
Output: 1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
Vous pouvez également rechercher un fichier avec un numéro d'inode à l'aide de la commande find. Par exemple :
find /home/rahul -inum 1150561
/home/rahul/myfile.txt
Modifications d'inode avec copier, déplacer et supprimer
Que se passe-t-il avec le numéro d'inode lorsque vous copiez, déplacez ou supprimez un fichier sur le système de fichiers.
- Copier le fichier : cp alloue un numéro d'inode libre et crée une nouvelle entrée dans la table des inodes.
### Check inode of existing file ls -il myfile.txt
1150561 -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.txt
1150562 -rw-r--r-- 1 root root 0 Mar 10 01:09 myfile_new.txt - Déplacer ou renommer un fichier : si la destination est le même système de fichiers que la source, n'a aucun impact sur le numéro d'inode, cela ne change que les horodatages dans la table d'inodes.
### Check inode of existing file ls -il myfile.txt
1150561 -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.txt
1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 /opt/myfile.txt - Supprimer un fichier : Une fois que vous supprimez un fichier sous Linux, le nombre de liens diminue et libère le numéro d'inode à réutiliser.
Comment libérer des inodes sous Linux
Dans le cas où les inodes sont pleins. Vous devez supprimer les fichiers inutilisés du système de fichiers pour rendre Inode gratuit. Il n'y a pas d'options pour augmenter/diminuer les inodes sur le disque. Il ne peut être créé que lors de la création du système de fichiers sur n'importe quel disque.