Inode
für den österreichischen Internet Service Provider siehe: Inode (Unternehmen)
Inode (Kurzwort aus: engl. "index node") ist ein Begriff aus dem Computerbereich. In der Dateiverwaltung eines Unix-Betriebssystems lässt sich jede Datei auf einer Festplatte oder einem anderen Speichermedium über solche Inodes erreichen.
Inode (oder I-Node) wird im Deutschen am besten als Informationsknoten oder Indexeintrag bezeichnet. Er fasst alle Attribute einer Datei zusammen außer den Inhalt und den Namen der Datei. Damit ist er selbst fast eine kleine Datei mit wichtigen Informationen über eine daranhängende größere Datei mit den eigentlichen gespeicherten Daten.
Der Inode wird identifiziert über eine eindeutige Nummer für genau die Datei, die er verwaltet (Inode-Nummer; ähnlich einem Primärschlüssel in einer Datenbank).
Im Inode sind folgende Informationen gespeichert:
- Besitzer der Datei
- bevorrechtigte Gruppe
- Zugriffsrechte der Datei
- Typ der Datei (einfache Datei, Verzeichnis, Link ...)
- Größe der Datei (in Bytes)
- Referenzzähler (Anzahl der Hardlinks = Namen der Datei, d.h. Zahl der Verweise aus den Verzeichnissen auf die Datei)
- Datum der letzten Inode-Änderung, des letzten Zugriffs auf die Datei (letzte Dateiöffnung) und der letzten Modifikation der Datei
- Verweis/Verweise auf die eigentlichen Cluster der Datei.
Der Dateiname ist nicht im Inode gespeichert!
Als Beispiel für die Verweise auf die Daten sei hier das Ext2-Dateisystem erläutert: Ist eine Datei sehr klein (bis zu etwa hundert Bytes), werden ihre Daten bei den meisten heutigen Dateisystem-Implementierungen direkt im I-Node gespeichert. Ist sie größer, dann verweisen bis zu 12 Einträge im I-Node auf je einen Cluster, in dem der Inhalt der Datei gespeichert wird. Reichen die in einem I-Node referenzierten Datencluster für eine Datei nicht aus, zeigt ein Eintrag im I-Node auf weitere Cluster, welche nun die eigentlichen Verweise zu den Datenclustern beinhalten. Ein Verweis auf einen einzigen weiteren Datencluster wird als einfach indirekter Block bezeichnet (korrekter: Cluster, siehe dazu die Seite Von Sektoren, Blöcken und Clustern). Es sind bis zu dreifach indirekte Blöcke möglich, so dass die maximale Dateigröße je nach Clustergröße zwischen 16 GByte und 2 TByte liegen kann.
Beispiel einer I-Node Struktur mit (16M + 64K + 256) Datenblöcken/Clustern:
In einem Unix-Betriebssystem existiert eine Tabelle mit allen aktuellen Inodes.
Ferner ist es möglich, Listen aller nichtbelegten Inodes zu erstellen.
Die Inode-Nummer einer Datei lässt sich mittels des Befehls ls -i Dateiname anzeigen.
Beispiel:
$ ls -i wine 590013 wine
Ein weiterer Name für eine Datei wird mit dem Befehl ln Erster-Dateiname Zweiter-Dateiname vergeben, wobei der Linkzähler im Inode um eins erhöht wird.