GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Oktal-Dump des Verzeichnisses

Jeder Dateisystemtyp speichert Verzeichnisse auf unterschiedliche Weise. Es gibt viele verschiedene Dateisystemtypen mit unterschiedlichen Eigenschaften – gut für hohen Durchsatz, gut für hohe Parallelität, gut für Umgebungen mit begrenztem Speicher, verschiedene Kompromisse zwischen Lese- und Schreibleistung, zwischen Komplexität und Stabilität usw. Ihr Buch beschreibt ein Dateisystem, das früher verwendet wurde Unix-Systeme. Moderne Systeme unterstützen viele verschiedene Dateisysteme.

Die sehr frühen Versionen von Unix hatten viele Dateisystemmanipulationen außerhalb des Kernels. Beispiel:mkdir und rmdir funktionierte, indem einige Dateisystem-Datenstrukturen direkt bearbeitet wurden. Diese wurde schnell durch eine einheitliche Verzeichniszugriffsschnittstelle, die opendir, ersetzt /readdir /closedir Familie, die es Anwendungen ermöglichte, Verzeichnisse zu manipulieren, ohne wissen zu müssen, wie sie unter der Haube implementiert wurden.

Verzeichnisinhalte können unter Linux nicht gelesen werden, weil sie nicht versteckt werden müssen, sondern weil Features nur dann existieren, wenn sie implementiert sind, und dieses Feature sinnlos ist und seinen Preis hat. Da das Format vom Dateisystem abhängt, ist es eine ziemlich sinnlose Funktion:Ein Programm kann das Format dessen, was es liest, nicht kennen. Es ist auch kein ganz triviales Feature zu unterstützen:Einige Dateisysteme organisieren Verzeichnisse auf eine Weise, die nicht nur ein Strom von Bytes ist, zum Beispiel kann es als B-Baum organisiert sein. Einige Unix-Varianten erlauben Anwendungen immer noch, Verzeichnisinhalte direkt zu lesen, aus Gründen der Abwärtskompatibilität, aber Linux hat dieses Feature nicht (und hatte es, soweit ich mich erinnern kann, nie – es war bereits in den frühen 1990er Jahren ein veraltetes Feature).


Ja, aber:

  • Moderne Systeme speichern Dateinamen anders. Im ursprünglichen Unix waren Namen auf 14 Zeichen beschränkt, mit 2 Bytes für Inode.
  • Die Schnittstelle zum Verzeichnis erfolgt über die Funktionen opendir , readdir , closedir statt open , read , close um die Veränderung in der Organisation widerzuspiegeln.
  • da niemand aus praktischen Gründen 16-Byte-Verzeichniseinträge lesen muss, haben die Designer die Möglichkeit weggelassen, rohe Verzeichnisdateien von Programmen zu lesen, die zum Lesen von Dateien entwickelt wurden .

Weiterführende Literatur:

  • Howto:C-Programmierung mit Verzeichnissen unter Linux
  • Frage zu opendir, readdir usw., Usenet-Thread von 1990, in dem die moderne diskutiert wird Implementierung von opendir usw.

Linux
  1. Weisen Sie einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis in Linux zu

  2. Verwenden Sie „pushd“ und „popd“ für eine effiziente Dateisystemnavigation unter Linux

  3. Linux – Execute Vs Read Bit. Wie funktionieren Verzeichnisberechtigungen in Linux?

  4. Finden Sie heraus, zu welchem ​​Dateisystem eine Datei oder ein Verzeichnis gehört?

  5. Beispiele für Linux-OD-Befehle (oktaler Dump)

Du-Befehl unter Linux

mv-Befehl unter Linux

So lesen Sie eine Datei mit Leerzeichen in Linux

Eine Anleitung für Anfänger zum Navigieren im Linux-Dateisystem

So sichern Sie das Linux-Dateisystem mit dem Dump-Befehl

Execute- vs. Read-Bit. Wie funktionieren Verzeichnisberechtigungen in Linux?