Die Größe der Verzeichnisse ist unsere Mühe nicht wert.

Das ist ein völlig nutzloser, praktischer aber amüsanter kleiner Beitrag über Verzeichnisse in *nix-Systemen. Es ist schließlich Freitag.

Bei Vorstellungsgesprächen tauchen oft langweilige Fragen zu Inodes, alles-ist-eine-Datei auf, auf die nur wenige sinnvoll antworten können. Doch wenn man etwas tiefer gräbt, findet man interessante Dinge.

Einige Thesen zum Verständnis des Beitrags:

  • Alles ist eine Datei. Ein Verzeichnis ist ebenfalls eine Datei.
  • In Inodes werden die Metadaten der Datei gespeichert, der Dateiname wird dort jedoch nicht gespeichert.
  • Der Dateiname wird in den Daten des Verzeichnisses gespeichert.
  • Die Größe des Verzeichnisses, die in der Ausgabe von ls angezeigt wird und standardmäßig 4 KB beträgt, hängt von der Anzahl der Dateien im Verzeichnis und der Länge ihrer Namen ab.
  • Offensichtlich gilt: Je mehr Dateien vorhanden sind, desto größer ist die Größe des Verzeichnisses.

Und jetzt das Interessante: Erstellen Sie ein Verzeichnis mit einer Million Dateien, überprüfen Sie die Größe des Verzeichnisses und löschen Sie dann alle Dateien, um zu sehen, wie sich die Größe des Verzeichnisses ändert.

$ mkdir niceDir && cd niceDir
# abhängig von der Geschwindigkeit des Speichermediums kann der nächste Befehl 2-10 Minuten dauern
$ for ((i=1;i<133700;i++)); do touch long_long_looong_man_sakeru_$i ; done
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
$ find . -type f -delete
$ ls -l
total 0
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug  2 13:37 .

Wie man erkennen kann, hat sich die Größe des Verzeichnisses nicht geändert, obwohl es so scheint 🙂

Die Größe des Verzeichnisses (ohne Löschung) kann nur mit fsck (und der Option -D) im ungemounteten Zustand repariert werden.

Als ich dann darauf ausging, herauszufinden, warum das so ist, stellte sich heraus, dass dieses Verhalten schon vor 10 Jahren in lkml diskutiert wurde. alternative Ansätze zur Entwicklung von Transistoren behandelt. Heute sprechen wir über Konzepte, die in der Lage sind, die Funktionsprinzipien traditioneller Rechensysteme zu transformieren: Und die Entwickler sind der Meinung, dass eine Korrektur den Aufwand einfach nicht wert ist.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster