Linux-Dateisysteme sind kompliziert zu verstehen, besonders wenn Sie sich in das Unkraut von Daten und Metadaten vertiefen. Jedes Mal, wenn Sie ls
ausführen Befehl und sehen Sie sich die Ausgabe an – aufgelistete Dateien, Berechtigungen, Kontoinhaber usw. – verstehen Sie, dass die Daten über Die Dateien, die Sie sehen, werden irgendwo getrennt von den Dateien selbst gespeichert und müssen aufgerufen werden. Inodes arbeiten hinter den Kulissen hart, also müssen Sie es nicht tun. Schauen wir uns an, was genau ein Inode ist und was er für uns tut.
Was ist ein Inode?
Definitionsgemäß ist ein Inode ein Indexknoten. Es dient als eindeutige Kennung für bestimmte Metadaten auf einem bestimmten Dateisystem. Jedes Metadatenelement beschreibt, was wir unter einer Datei verstehen. Das ist richtig, Inodes arbeiten auf jedem Dateisystem, unabhängig von den anderen. Wo dies verwirrend wird, ist, wenn Sie feststellen, dass jeder Inode in einer gemeinsamen Tabelle gespeichert ist. Kurz gesagt, jedes auf Ihrem Computer gemountete Dateisystem hat seine eigenen Inodes. Eine Inode-Nummer kann mehr als einmal verwendet werden, jedoch niemals von demselben Dateisystem. Die Dateisystem-ID wird mit der Inode-Nummer kombiniert, um ein eindeutiges Identifikationsetikett zu erstellen.
Wie viele Inodes gibt es?
Wenn Sie sich nicht für Mathematik interessieren, können Sie diesen Abschnitt überspringen. Auf jedem System gibt es viele Inodes, und es gibt ein paar Zahlen, die Sie beachten sollten. Zunächst einmal, und das ist weniger wichtig, beträgt die theoretische maximale Anzahl von Inodes 2^32 (ungefähr 4,3 Milliarden Inodes). Zweitens und weitaus wichtiger ist die Anzahl der Inodes auf Ihrem System. Im Allgemeinen beträgt das Verhältnis der Inodes 1:16 KB Systemkapazität. Offensichtlich ist jedes System anders, also müssen Sie diese Berechnungen selbst durchführen.
Erweiterte Nutzung
Es gibt eine gute Nachricht für diejenigen unter Ihnen, die Mathe avers sind:"Dafür gibt es einen Befehl." Um die Anzahl der Inodes auf Ihrem System zu überprüfen, können Sie das -i
verwenden Option mit dem df
Befehl, wie hier zu sehen:
[tcarrigan@rhel ~]$ df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 312 523976 1% /boot
Sie können der Befehlssyntax und der obigen Ausgabe entnehmen, dass wir df -i
ausgeführt haben im Dateisystem /dev/sda1
. Es gibt insgesamt 524.288 Inodes auf diesem Dateisystem, von denen nur 312 verwendet werden (ca. 1%).
Inodes auf Dateiebene
Wir können uns auch die Inode-Nummer einer bestimmten Datei ansehen. Dazu verwenden wir den ls -i
Befehl auf die gewünschte Datei. Zum Beispiel:
[tcarrigan@rhel my_articles]$ ls -i Creating_volume_groups
1459027 Creating_volume_groups
Die Inode-Nummer für diese Datei ist 1459027 .
Inodes auf Verzeichnisebene
Genau wie bei Dateien können wir auch den Inode eines Verzeichnisses sehen. Dazu verwenden wir den ls -i
Befehl erneut mit einigen zusätzlichen Optionen. Zum Beispiel:
[tcarrigan@rhel article_submissions]$ ls -idl my_articles/
352757 drwxrwxr-x. 2 tcarrigan tcarrigan 69 Apr 7 11:31 my_articles/
Sie können sehen, dass wir -i
verwendet haben (Inodes) sowie -l
(Langformat) und -d
(Verzeichnis). Diese Flags präsentieren uns eine Fülle von Informationen über my_articles Verzeichnis, einschließlich Inode-Nummer, Berechtigungen, Besitz usw.
Zusammenfassung
Inodes sind ein großartiger Ausgangspunkt, wenn Sie mehr über Dateisysteme und ihre Strukturen erfahren möchten. Es ist wichtig zu wissen, wie die kleinsten Dateneinheiten gekennzeichnet und indiziert werden. Einige weit fortgeschrittenere Operationen können in Bezug auf Inodes durchgeführt werden. Sie können beispielsweise einen Inode öffnen und den Inhalt der Datei lesen. Diese Fähigkeit gibt Ihnen einen noch tieferen Einblick in die dort gespeicherten Metadaten. Hoffentlich bietet Ihnen dieser Überblick auf hoher Ebene eine Grundlage für Ihre Inode-Erkundung.
[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]