Antworten:
GNU du
hat die --block-size
Option:
du -csh --block-size=1G .
Wie bereits erwähnt, skaliert das Weglassen des Blockgrößen-Arguments automatisch die Ausgabe (und zeigt die Einheit an). Wenn Sie ein beliebiges Argument für die Blockgröße verwenden, wird die Zahl angezeigt, die Einheit jedoch weggelassen.
-h
nicht arbeitest . Es ist eine unterstützte Option, die bewirkt, dass die Ausgabe "lesbar" ist (dh mit Einheiten-Suffixen und skaliert). Es ist jedoch richtig, dass es ignoriert wird, wenn --block-size
es verwendet wird. Dies ist in meiner Antwort vermerkt.
Der Einfachheit halber finden Sie hier eine Referenz für macOS:
-h
"Vom Menschen lesbare" Ausgabe. Verwenden Sie Einheitensuffixe: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte und Petabyte.-k
Anzeigen der Blockanzahl in 1024-Byte-Blöcken (1 KB).-m
Anzeigen der Blockanzahl in Blöcken mit 1.048.576 Byte (1 MB).-g
Anzeigen der Blockanzahl in Blöcken mit 1.073.741.824 Byte (1 GB).So funktionieren die verschiedenen Optionen in einer 1,234,567 KB
Datei:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
Sie können das implizite Verhalten auch über die BLOCKSIZE
Umgebungsvariable konfigurieren :
BLOCKSIZE
Wenn die UmgebungsvariableBLOCKSIZE
festgelegt ist und die-k
Option nicht angegeben ist, werden die Blockzählungen in Einheiten dieser Blockgröße angezeigt. WennBLOCKSIZE
nicht festgelegt und die-k
Option nicht angegeben ist, werden die512
Blockzählungen in -byte-Blöcken angezeigt .