Ich habe gelesen, dass jedes Verzeichnis seinen Inhalt (Dateien und Unterverzeichnisse) unter Verwendung einer Liste von Dateinamen- und Inode-Paaren speichert. Aber keine der Referenzen, die ich erhalten habe, sagt etwas darüber aus, wie sie gespeichert sind.
Werden sie im Inode ihres übergeordneten Verzeichnisses gespeichert, verwenden Datenblöcke wie eine normale Datei oder verwenden sie andere Methoden, die mir nicht bekannt sind?
Danke für die Klarstellung.
linux
unix
filesystems
Oka
quelle
quelle
Antworten:
Siehe Interna des Dateisystems, in denen die Interna eines typischen Unix-Dateisystems auf relativ einfache Weise beschrieben werden.
Die meisten Unix-Dateisysteme enthalten
Moderne Dateisysteme enthalten zusätzliche Strukturen.
Eines der Dinge im Superblock ist der Speicherort der Inodes für das Stammverzeichnis.
Ein Verzeichnis ist eine speziell formatierte Datei. Wie bei allen normalen Dateien gibt es Datenblöcke.
Sie können dies in The Linux Documentation Project: Filesystem sehen
Sie können
debugfs
diese Strukturen untersuchen.quelle
ext4
Dateisystem (was durchext4_dir_entry_2
263 Bytes dargestellt wird) kann beispielsweise ein einzelner 4-KB-Block etwa 15 Verzeichniseinträge speichern.