Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was bedeutet die Linux-I-Node-Nummer?

Was bedeutet die Linux-I-Node-Nummer?

青灯夜游
青灯夜游Original
2023-03-30 11:49:202440Durchsuche

Unter Linux bezieht sich die I-Node-Nummer auf die Inode-Nummer, die zur Identifizierung verschiedener Dateien verwendet wird. Linux verwendet intern Inode-Nummern zur Identifizierung von Dateien anstelle von Dateinamen. Für das System sind Dateinamen ein anderer Name für Inode-Nummern, der für Benutzer praktisch ist, um Dateien zu identifizieren. Es besteht eine Eins-zu-Eins-Entsprechung zwischen Dateinamen und Inode Nummern, und jede Inode-Nummer entspricht einem Dateinamen.

Was bedeutet die Linux-I-Node-Nummer?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

1. i-Knoten unter Linux

Unter Linux bezieht sich i-Knoten auf den Inode-Knoten.

Unter Linux erfolgt die Dateisuche nicht anhand des Dateinamens. Tatsächlich wird die Suche und Positionierung von Dateien über i-Knoten erreicht. Wir können den i-Knoten als Zeiger-Fip visualisieren. Wenn eine Datei auf der Festplatte gespeichert wird, wird die Datei definitiv an einem Speicherort auf der Festplatte gespeichert. Sie können sich vorstellen, dass wir die Adresse der Dateidaten kennen, wenn wir sie lesen und lesen möchten Schreiben Sie die Datei. Können wir zu diesem Zeitpunkt einfach diese Adresse verwenden, um die Datei zu finden?

Ja, unter Linux kann man sich den i-Node tatsächlich so vorstellen. Der i-Node wird als Adresse betrachtet, die auf den Dateispeicherbereich auf der Festplatte verweist. Nur können wir diese Adresse im Allgemeinen nicht direkt verwenden, sondern indirekt über den Dateinamen. Tatsächlich enthält der i-Knoten nicht nur die Adresse des Dateidatenspeicherbereichs, sondern auch viele Informationen, wie z. B. die Datengröße und andere Dateiinformationen. Der i-Knoten speichert den Dateinamen jedoch nicht. Der Dateiname wird in einem Verzeichniseintrag gespeichert. Jeder Verzeichniseintrag enthält den Dateinamen und den I-Node.

Wir können ein Diagramm verwenden, um die Beziehung zwischen Verzeichniselementen, i-Knoten und Dateidaten anzuzeigen.

Wie Sie auf dem Bild oben sehen können, enthält der Verzeichniseintrag den Dateinamen und den i-Knoten.

Gleichzeitig werden Sie feststellen, dass in der obigen Abbildung die i-Knoten von Verzeichniselement A und Verzeichniselement B auf denselben Speicherbereich verweisen und dieser Speicherbereich die Daten von printf („ha“) speichert.

Das bedeutet, dass die Inhalte von helloA.c und helloB.c gleich sind.

i Knotennummer

Jeder Inode hat eine Nummer (d. h. Inode-Nummer), und das Betriebssystem verwendet die Inode-Nummer, um verschiedene Dateien zu identifizieren.

————Linux verwendet intern Inode-Nummern, um Dateien zu identifizieren, nicht Dateinamen. Für das System sind Dateinamen ein anderer Name für Inode-Nummern, der für Benutzer praktisch ist, um Dateien zu identifizieren Zwischen Dateinamen und Inode-Nummern entspricht jede Inode-Nummer einem Dateinamen.

Die Inode-Nummer ist der einzige vom System erkannte Code, und der Dateiname dient nur der Benutzeridentifizierung. Die Inode-Tabelle (Indexknoten) enthält eine Liste aller Dateien im Dateisystem ein Tabelleneintrag, einschließlich zugehöriger Dateien (Metadaten).

Die Struktur der Festplatte nach der Partitionierung:

Was bedeutet die Linux-I-Node-Nummer?

  • Wenn ein Benutzer versucht, auf eine Datei im Linux-System zuzugreifen, sucht das System zunächst anhand des Dateinamens nach der entsprechenden Inode-Nummer Informationen über die Inode-Nummer; wenn ja, wird auf den entsprechenden Datenblock verwiesen und die Daten werden zurückgegeben.

Einfacher Prozess für den Zugriff auf Dateien:

Was bedeutet die Linux-I-Node-Nummer?

2. Linux-Dateispeicherung

2.1 Inode-Anzahlbegrenzung

  • Inode Verbrauchen Sie auch Speicherplatz auf der Festplatte, also formatieren Sie sie Das Betriebssystem unterteilt die Festplatte automatisch in zwei Bereiche: Der eine ist der Datenbereich, in dem Dateidaten gespeichert werden, der andere ist der Inode-Bereich, in dem die im Inode enthaltenen Informationen gespeichert werden. Die Größe jedes Inodes beträgt im Allgemeinen 128 Byte oder 256 Byte.
  • Normalerweise müssen Sie nicht auf die Größe eines einzelnen Inodes achten, sondern müssen sich auf die Gesamtzahl der Inodes konzentrieren. Die Gesamtzahl der Inodes wurde während der Formatierung ermittelt.
    – Warum brauchen Sie? sich auf die Gesamtzahl der Inodes konzentrieren? WeilWenn die Inodes aufgebraucht sind, können keine neuen Dateien erstellt werden, auch wenn noch Platz auf der Festplatte vorhanden ist, da beim Erstellen einer Datei eine entsprechende Inode-Nummer erforderlich ist , und neue Dateien können nicht ohne Inode erstellt werden.
    Führen Sie den Befehl „df-i“ aus, um die Gesamtzahl der Inodes für jede Festplattenpartition und die Anzahl der verwendeten Inodes anzuzeigen.

Was bedeutet die Linux-I-Node-Nummer?

2.2 Der Inhalt von Inode

Inode enthält die Metainformationen der Datei, insbesondere den folgenden Inhalt:

  • Die Anzahl der Bytes der Datei
  • Die Besitzer-Benutzer-ID der Datei
  • Die Gruppen-ID der Datei
  • Die Lese-, Schreib- und Ausführungsberechtigungen der Datei
  • Die Anzahl der Links, also wie viele Dateien auf diesen Inode verweisen
  • Der Zeitstempel der Datei
  • Zwei Möglichkeiten, die anzuzeigen Inode-Informationen einer bestimmten Datei. Methode eins: stat [Dateiname]

Methode zwei:

ls -i [Dateiname]


Nur die Inode-Nummer kann angezeigt werden

Was bedeutet die Linux-I-Node-Nummer?

2.3 Die drei Hauptzeitattribute von Linux-Systemdateien

Die drei Hauptzeitattribute von Linux-Systemdateien (d. h. der Zeitstempel im Inode)

ctime (Änderungszeit) Was bedeutet die Linux-I-Node-Nummer? bezieht sich auf den letzten Zeitpunkt

der Änderung

der Datei oder des Verzeichnisses ( Attribut )

atime (Zugriffszeit). ) bezieht sich auf das letzte Mal Zugriff auf die Datei oder das Verzeichnis mtime (Änderungszeit) bezieht sich auf das letzte Mal

Änderung

eine Datei oder ein Verzeichnis (

Inhalt
    )

  • 3. Die Sonderrolle von Inode

  • Aufgrund der Trennung von Inode-Nummer und Dateiname tritt bei einigen Unix/Linux-Systemen das folgende Phänomen auf:

  • Wenn der Dateiname Sonderzeichen enthält, kann die Datei möglicherweise nicht normal gelöscht werden Inode direkt, oder Sie können die Datei löschen Beim Verschieben oder Umbenennen der Datei wird nur der Dateiname geändert und die Inode-Nummer ist nicht betroffen Nach dem Öffnen einer Datei identifiziert das System die Datei anhand der Inode-Nummer, Nr länger unter Berücksichtigung des Dateinamens
Nachdem die Dateidaten geändert und gespeichert wurden, wird eine neue Inode-Nummer generiert (die ursprüngliche Inode-Nummer wird freigegeben)

So übergeben Sie die Inode-Nummer und löschen die Datei:

Methode 1 (Informationen müssen vor dem Löschen bestätigt werden): find ./ -inum [Inode-Nummer] -exec rm -i {} ;

  • Methode 2 (direkt löschen): find ./ / -inum [Inode Nummer] -löschen
  • Verwandte Empfehlungen: „
  • Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet die Linux-I-Node-Nummer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn