Wie sehe ich du in GB statt MB in Linux?

24

Das funktioniert:

du -cshm .

Dies schlägt jedoch fehl:

du -cshg .

Wie kann ich es in GB anzeigen?

Apache
quelle

Antworten:

41

GNU duhat die --block-sizeOption:

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.

Bis auf weiteres angehalten.
quelle
Bei (GNU coreutils) 8.25 -h hat nicht funktioniert, bei Blockgröße = 1G!
Florian Straub
@FlorianStraub: Ich bin mir nicht sicher, was du damit meinst, wenn du -hnicht 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-sizees verwendet wird. Dies ist in meiner Antwort vermerkt.
Bis auf weiteres angehalten.
mein schlechtes: ich meinte "-g hat nicht funktioniert"
Florian Straub
3

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 KBDatei:

$ 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 BLOCKSIZEUmgebungsvariable konfigurieren :

BLOCKSIZEWenn die Umgebungsvariable BLOCKSIZEfestgelegt ist und die -kOption nicht angegeben ist, werden die Blockzählungen in Einheiten dieser Blockgröße angezeigt. Wenn BLOCKSIZEnicht festgelegt und die -kOption nicht angegeben ist, werden die 512Blockzählungen in -byte-Blöcken angezeigt .

Alexander - Setzen Sie Monica wieder ein
quelle
1

Verwenden Sie du -B1073741824diese Option, aber achten Sie darauf, dass das Ergebnis nur in Ganzzahl-Einheiten angezeigt wird-h

Geocar
quelle
0

Zusätzlich zu den vorherigen Antworten scheint es auch Unterschiede zwischen verschiedenen Coreutils-Versionen (oder dem Gebietsschema?) Zu geben, da ich auf meinem Host Folgendes erhalte:

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
sajb
quelle