A Linux Betrachten Sie alles als Datei, einschließlich Hardwaregeräte, Drucker, Verzeichnisse und Prozesse. Jeder Text, jede Musik, jedes Video, jedes Bild oder jede Multimediadatei wird als reguläre Datei betrachtet. Alle regulären Dateien enthalten Metadaten zur Datei, die alles über die Datei wie Typ, Inode usw. beschreiben.
Ein Inode ist ein Eintrag in der Inode-Tabelle, der Informationen (die Metadaten) über eine reguläre Datei und ein reguläres Verzeichnis enthält. Ein Inode ist eine Datenstruktur auf einem traditionellen Dateisystem im Unix-Stil wie Ext3 oder Ext4.
Was ist Inode-Nummer in Linux
Inode-Nummer auch Indexnummer genannt, es besteht aus folgenden Attributen einer Datei:
- Dateitypen (ausführbare Datei, Block usw.)
- Berechtigungen (Lesen, Schreiben usw.)
- UID (Besitzer)
- GID (Gruppe)
- Dateigröße
- Zeitstempel einschließlich des letzten Zugriffs, der letzten Änderung und der letzten ändern.
- Löschzeit der Datei
- Anzahl der Links (soft/hard)
- Speicherort der ile auf der Festplatte.
- Einige andere Metadaten über die Datei.
Inodes im Dateisystem prüfen
Sie können die Gesamtzahl der Inodes auf der Festplatte ermitteln, indem Sie die Option ‘-i‘ mit dem Befehl df verwenden.
df -i /dev/sda1Filesystem Inodes IUsed IFree IUse% Mounted on/dev/vda1 1536000 138846 1397154 10% /
Der folgende Befehl zeigt die Gesamtzahl der Inodes auf dem Dateisystem, verwendet und freie Inodes Details. Im Falle von Inodes, die auf einem Dateisystem voll sind, können Sie keine neue Datei auf der Festplatte erstellen, selbst wenn Sie über genügend freien Speicherplatz verfügen. Daher muss jedes Dateisystem über eine freie Festplatte und Inodes verfügen, um eine Datei zu erstellen.
Inode-Nummer der Datei finden
Um die Inode-Nummer der Datei zu überprüfen, verwenden Sie den folgenden Befehl. Das erste Feld in der Ausgabe ist eine Inode-Nummer der Datei.
ls -il myfile.txt1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
Sie können die Datei auch mit einer Inode-Nummer suchen, indem Sie den Befehl find verwenden. Zum Beispiel:
find /home/rahul -inum 1150561/home/rahul/myfile.txt
Inode ändert sich mit Kopieren, Verschieben und Löschen
Was passiert mit der Inode-Nummer, wenn eine Datei im Dateisystem kopiert, verschoben oder gelöscht wird.
Datei kopieren: cp weist eine freie Inode-Nummer zu und fügt einen neuen Eintrag in die Inode-Tabelle ein.
### 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
Verschieben oder Umbenennen einer Datei: wenn das Ziel dasselbe Dateisystem wie die Quelle ist, hat dies keine Auswirkungen auf die Inode-Nummer, sondern ändert nur die Zeitstempel in der Inode-Tabelle.
### 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
Datei löschen: Das Löschen einer Datei unter Linux verringert die Anzahl der Links und gibt die Inode-Nummer für die Wiederverwendung frei.
Freie Inodes im Dateisystem
Im Fall von Inodes sind voll. Sie müssen nicht verwendete Dateien aus dem Dateisystem entfernen, um Inode frei zu machen. Es gibt keine Option zum Erhöhen / Verringern des Volumens auf der Festplatte. Es wurde nur während der Erstellung des Dateisystems auf einer beliebigen Festplatte erstellt.