ls -ld /dir, Solaris

ls -ld /dir, Solaris

Beim Ausführen ls -ld /dirder Ausgabe wird immer die Größe = 512 angezeigt, unabhängig davon, ob Dateien darin sind oder nicht.

aber wenn ich du -shdie Ausgabe ausführe, wird mir die tatsächliche Größe des Verzeichnisses einschließlich seines Inhalts angezeigt.

Antwort1

Wenn Ihr Verzeichnis viele Dateien enthält, erhalten Sie tatsächlich eine größere Zahl: Wenn ich 10.000 leere Dateien in einem neuen Verzeichnis erstelle, steigt diese Zahl von 4.096 auf 262.144.

Die Startgröße hängt vom Dateisystem und der Blockgröße ab, die beim Erstellen des Dateisystems angegeben wurden. Sie ist ein Hinweis darauf, wie viele Metadaten das Verzeichnis enthält (für die darin enthaltenen Dateien und Verzeichnisse), nicht wie viele Daten die Dateien in einem Verzeichnis enthalten.

Zum Vergleich: Ein Verzeichnis mit 10000 leeren Dateien

 ls -ld . --> 262144
 du -sh . --> 260K

Ein Verzeichnis mit 10000 Dateien mit jeweils 100000 Bytes:

 ls -ld . --> 262144
 du -sh . --> 977M

Die Metadaten haben für beide Dateisätze die gleiche Größe (sie haben auch genau die gleichen Namen).

verwandte Informationen