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

Unterschied bei der Berechnung der Verzeichnisgröße?

Ich muss die Größe des Verzeichnisses im Terminal zum Signieren abrufen. Ich verwende folgenden Befehl:

du -s /path/to/dir

Ich multipliziere das Ergebnis mit der traditionellen UNIX-Blockgröße (512 Bytes) und erhalte die tatsächliche Verzeichnisgröße in Bytes. Allerdings zeigt das „Get Info“-Dialogfenster des Finders die Größe etwas kleiner als die mit dem Terminal-Befehl berechnete. Und es scheint, dass es auf jedem Ordner/Bündel reproduzierbar ist. Was übersehe ich?

Akzeptierte Antwort:

Normalerweise du zeigt Informationen zur Festplattennutzung an (woher der Name kommt). Denken Sie daran

disk usage != sum of file sizes

Weil jede Datei eine Anzahl von Blöcken belegt auf dem Dateisystem (siehe man mkfs.ext2 zum Beispiel). Das bedeutet, dass die Plattenbelegung einer Datei nur in sehr seltenen Fällen ihrer tatsächlichen Größe entspricht – dafür muss die Größe genau ein Vielfaches der Blockgröße sein.

Stellen Sie sich Dateisystemblöcke als Kästen vor, die Teile von Dateien enthalten – jeder kann einen Teil von nur einer Datei enthalten.

Für die GNU-Version von du , überprüfen Sie die --apparent-size Option.

Eine noch interessantere Situation kann eintreten, wenn es im Dateisystem einige wenige Dateien gibt!


Linux
  1. So erhalten Sie die Verzeichnisgröße in Linux

  2. Suchen Sie die Datei und wechseln Sie dann in dieses Verzeichnis in Linux

  3. Wie kann ich die Größe jeder Datei und jedes Verzeichnisses auflisten und in Bash nach absteigender Größe sortieren?

  4. Dateigröße unter Linux beobachten

  5. Beschränken Sie die Verzeichnisgröße

So erhalten Sie die Größe eines Verzeichnisses in Linux

Unterschied zwischen Blockgröße und Clustergröße?

Linux – Zweck des Verzeichnisses /net?

Reduzieren Sie die PDF-Dateigröße unter Linux

sys/types.h:Keine solche Datei oder Verzeichnis

Verzeichnisgröße verkleinern/zurücksetzen?