Warum ist dieses leere Verzeichnis 3,5 MB?

15

Ich habe gerade diese Frage gelesen: Was bedeutet die Größe eines Verzeichnisses bei der Ausgabe des Befehls 'ls -l'?

... was meine Frage nicht ganz beantwortet. Grundsätzlich verschiebe ich Dateien auf ein NAS. Die Ordner, die ich bereits verschoben habe, sind vollständig leer, ohne versteckte Dateien oder duähnliches , und weisen dennoch eine Größe von 3,5 MB auf. Zuvor enthielten sie zugegebenermaßen eine große Anzahl von Dateien mit langen Dateinamen.

Liegt diese Größe einfach an der Anzahl und der Länge der Dateien in diesem Verzeichnis? Warum hat sich die Größe nicht verringert, da die Ordner leer sind (ext4-Dateisystem)?

shearn89
quelle
1
Sie neigen dazu, anders zu denken als Menschen, es gibt einen Bericht auf der Grundlage einiger Dateisystemeinstellungen. Sie können mit "--apparent-size" hier nachsehen : gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson
Wenn Sie neu erstellte leere Verzeichnisse auf den NAS kopieren, welche Größen geben diese an? Haben Sie auch Zugriff auf den NAS, auf dem Sie beispielsweise tune2fs ausführen könnten?
SLM
Hast du die Schnappschüsse berücksichtigt?
mdpc
@slm - Sie werden mit der normalen Größe von 4096 (Byte?) ausgegeben.
Shearn89
@mdpc - Schnappschüsse?
Shearn89

Antworten:

16

Wenn Sie alle Dateien aus einem Verzeichnis löschen, bleibt das Verzeichnis für die meisten Dateisysteme gleich groß.

Wenn das Verzeichnis leer ist,

rmdir ./directory_name; mkdir ./directory

Das resultierende neue Verzeichnis wird kleiner. Wenn Dateien hinzugefügt werden, wird sie jedoch größer. Sorgen Sie sich nicht um die Dateigröße des Verzeichnisses, sondern um die Anzahl der Dateien in einem einzelnen Verzeichnis. Eine große Anzahl von Dateien in einem einzelnen Verzeichnis wirkt sich negativ auf die Dateisuchleistung aus. Auch bei reichlich Inode-Caching.

Jim Mcnamara
quelle
4
Die große Anzahl von Dateien in einem Verzeichnis ist nur für ext-Dateisysteme von Bedeutung. Andere wie xfs, btrfs, reiser usw. haben nicht das gleiche Problem.
Patrick
2
Das ist richtig. Allerdings hat ufs das Problem wie andere auch. Obwohl diese Frage ausschließlich ext4 ist, ist das Problem allgegenwärtig, also habe ich es erwähnt.
Jim Mcnamara
Abgesehen von Leistungsproblemen kann das Speichern zu vieler Dateien in einem Verzeichnis andere Probleme rm *verursachen. Wenn Sie mehr als 1024 Dateien haben, kann dies zu Problemen führen .
Sean McSomething
@SeanMcSomething Welche Probleme meinst du?
Hatschepsut
1
@ SeanMcSomething Ich habe keine Ahnung, woher du diesen Mist hast. Die Befehlszeile eines Prozesses kann ein halbes Megabyte oder mehr betragen. Es hat nichts mit der Anzahl der Dateien zu tun, die Gesamtgröße der Befehlszeile hat ein Limit, das, wie Sie sagen, viel höher ist.
peterh