Ein Linux betrachtet alles als Datei, einschließlich Hardwaregeräten, Druckern, Verzeichnissen und Prozessen. Jede Text-, Musik-, Video-, Bild- oder Multimediadatei wird als normale Datei betrachtet. Alle regulären Dateien enthalten Metadaten über die Datei, die alles über die Datei wie Typ, Inode usw. beschreiben.
In diesem Tutorial werden wir die Inode-Nummer in Linux besprechen. Wie können wir die Inode-Nummer einer Datei finden? Was ist mit der Inode-Nummer passiert, wenn wir eine Datei kopieren, verschieben oder löschen.
Was ist die Inode-Nummer in Linux
Ein Inode ist eine eindeutige Identifikationsnummer, die jeder Datei in Linux zugewiesen wird. Diese wird in einer Tabelle namens Inode-Tabelle gespeichert, die die Metadaten einer Datei enthält.
Inode-Nummer, auch Indexnummer genannt, besteht aus folgenden Attributen jeder Datei:
- Dateitypen (ausführbar, spezielle Blocks usw.)
- Berechtigungen (Lesen, Schreiben usw.)
- UID (Eigentümer)
- GID ( Gruppe )
- Dateigröße
- Zeitstempel einschließlich letztem Zugriff, letzter Änderung und letzter Änderung der Inode-Nummer.
- Zeitpunkt zum Löschen der Datei
- Anzahl der Links ( soft/hard )
- Speicherort der Datei auf der Festplatte.
- Einige andere Metadaten über die Datei.
Inodes auf einem Dateisystem prüfen
Sie können die Gesamtzahl der Inodes auf der Festplatte finden, indem Sie „-i verwenden ‘-Option mit df Befehl.
df -i /dev/sda1
Output: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1536000 138846 1397154 10% /
Der obige Befehl zeigt die Gesamtzahl der Inodes auf /dev/sda1 Dateisystem. Bietet auch Details zu verwendeten und freien Inodes.
Jedes Dateisystem muss über freie Inodes verfügen, um eine neue Datei zu erstellen. Wenn die Inodes voll sind, erlaubt Ihnen das System nicht, eine neue Datei zu erstellen.
Finde die Inode-Nummer der Datei
Sie können die Inode-Nummer jeder Datei mit -i finden Befehlszeilenparameter mit dem Befehl ls.
ls -il myfile.txt
Das erste Feld in der Ausgabe ist eine Inode-Nummer der Datei.
Output: 1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
Sie können Dateien auch mit einer Inode-Nummer mit dem Befehl find suchen. Zum Beispiel:
find /home/rahul -inum 1150561
/home/rahul/myfile.txt
Inode-Änderungen mit Kopieren, Verschieben und Löschen
Was passiert mit der Inode-Nummer, wenn Sie eine Datei im Dateisystem kopieren, verschieben oder löschen.
- Datei kopieren: cp weist eine freie Inode-Nummer zu und erstellt einen neuen Eintrag in der Inode-Tabelle.
### 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 - Datei verschieben oder umbenennen: Wenn das Ziel das gleiche Dateisystem wie die Quelle ist, hat dies keinen Einfluss auf die Inode-Nummer, es ändert nur die Zeitstempel in der Inode-Tabelle.
### 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 - Datei löschen: Sobald Sie eine Datei in Linux löschen, wird die Linkanzahl verringert und die Inode-Nummer zur Wiederverwendung freigegeben.
So befreien Sie Inodes unter Linux
Im Fall von Inodes sind voll. Sie müssen unbenutzte Dateien aus dem Dateisystem entfernen, um Inode frei zu machen. Es gibt keine Optionen zum Erhöhen/Verringern von Inodes auf der Festplatte. Es kann nur während der Erstellung des Dateisystems auf einer beliebigen Festplatte erstellt werden.