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?

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.


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 .


1

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.