Versuchen Sie es mit du --block-size=1024 -s .. Vielleicht ist Ihr BLOCK_SIZEeingestellt auf512
Echoes_86
6
Auf der Manpage (OSX): "Wenn BLOCKSIZE nicht festgelegt ist und die Option -k nicht angegeben ist, werden die
Blockzählungen
Das ist nicht besonders hilfreich, wenn das Dateisystem tatsächlich aus 4096-Byte-Blöcken besteht.
DopeGhoti
So gibt es keine Möglichkeit, die Größe in Bytes zu haben? Ich dachte, ich würde -hnur durch 1024 dividieren und einige Einheiten hinzufügen
Creak
2
echo "74216696*512" | bcOutputs, 37998948352. Und ja, -hkonvertiert in eine für Menschen lesbare Form, indem ich immer wieder durch 1024 teile du. Verwenden Sie für die Größe in Byte einfach --block-size=1. Unter Linux gibt es eine -bOption dafür, aber ich kenne OS X nichtdu
Sergiy Kolodyazhnyy
Antworten:
23
duOhne Angabe eines Ausgabeformats wird die Festplattennutzung in Blöcken von 512 Bytes und nicht in Kilobytes angegeben . Sie können die Option verwenden -k, um stattdessen in Kilobyte anzuzeigen. Unter OS X (oder MacOS oder MacOS oder Macos, je nachdem, was Sie möchten) können Sie die Standardeinheit anpassen, indem Sie die Umgebungsvariable festlegen BLOCKSIZE(dies wirkt sich auch auf andere Befehle aus).
Wusste nicht, dass ... Was ist das Interesse an der Anzahl der Blöcke? Ich habe noch nie jemanden gesehen, der Blöcke verwendet, wenn er über Größen auf der Festplatte spricht ...
Creak
2
Blöcke sind die atomare Einheit von Dateisystemen. Jede Datei belegt eine ganze Anzahl von Blöcken auf der Festplatte. Ein Block kann nur teilweise mit tatsächlichen Daten gefüllt sein, aber der gesamte Block ist der Datei zugeordnet. Die alltägliche Nutzung der meisten Leute kümmert sich nicht um Blockaden, außer in einem prozentualen Verhältnis von Nutzung zu Freiheit. Aber gering Nebenkosten (zB fdisk, dfund du) Arbeit in den Blöcken , wenn nicht anders angegeben , da sie das Gerät , mit dem sie intern zählen.
Msgstr "Jede Datei verbraucht eine ganze Anzahl von Blöcken auf der Festplatte." Im Allgemeinen ja - es sei denn, Ihr Dateisystem verwendet Tail-Packing . Aber ja, Blöcke sind die Grundeinheit des Dateisystems (obwohl die tatsächliche Blockgröße nicht unbedingt der von du. Verwendeten Blockgröße entspricht ) :)
Wildcard
3
Das Problem ist, dass dudie Größe in Anzahl der Blöcke von 512 Bytes zurückgegeben wird.
Um die Größe in KB zu erhalten, können Sie -kstattdessen die Option verwenden, die 1024-Byte-Blöcke verwendet:
du --block-size=1024 -s .
. Vielleicht ist IhrBLOCK_SIZE
eingestellt auf512
-h
nur durch 1024 dividieren und einige Einheiten hinzufügenecho "74216696*512" | bc
Outputs, 37998948352. Und ja,-h
konvertiert in eine für Menschen lesbare Form, indem ich immer wieder durch 1024 teiledu
. Verwenden Sie für die Größe in Byte einfach--block-size=1
. Unter Linux gibt es eine-b
Option dafür, aber ich kenne OS X nichtdu
Antworten:
du
Ohne Angabe eines Ausgabeformats wird die Festplattennutzung in Blöcken von 512 Bytes und nicht in Kilobytes angegeben . Sie können die Option verwenden-k
, um stattdessen in Kilobyte anzuzeigen. Unter OS X (oder MacOS oder MacOS oder Macos, je nachdem, was Sie möchten) können Sie die Standardeinheit anpassen, indem Sie die Umgebungsvariable festlegenBLOCKSIZE
(dies wirkt sich auch auf andere Befehle aus).quelle
fdisk
,df
unddu
) Arbeit in den Blöcken , wenn nicht anders angegeben , da sie das Gerät , mit dem sie intern zählen.du
"Block" bedeutet dies 512 Bytes. Siehe Dateiblockgröße - Unterschied zwischen stat und ls , Unterschied zwischen Blockgröße und Clustergrößedu
. Verwendeten Blockgröße entspricht ) :)Das Problem ist, dass
du
die Größe in Anzahl der Blöcke von 512 Bytes zurückgegeben wird.Um die Größe in KB zu erhalten, können Sie
-k
stattdessen die Option verwenden, die 1024-Byte-Blöcke verwendet:quelle