Come vedo du in GB anziché MB in linux?


24

Questo funziona:

du -cshm .

Ma questo non riesce:

du -cshg .

Come posso vederlo in unità di GB?

Risposte:


41

GNU duha l' --block-sizeopzione:

du -csh --block-size=1G .

Come notato da sajb , l'omissione dell'argomento della dimensione del blocco ridimensionerà automaticamente l'output (e visualizzerà l'unità). L'uso di qualsiasi argomento sulla dimensione del blocco visualizza il numero ma omette l'unità.


A (GNU coreutils) 8.25 -h non ha funzionato, mentre block-size = 1G ha funzionato!
Florian Straub,

@FlorianStraub: Non sono sicuro di cosa intendi per -hnon funzionare. È un'opzione supportata che fa sì che l'output sia "leggibile dall'uomo" (cioè con suffissi unitari e ridimensionati). Ma è vero che viene ignorato quando --block-sizeviene utilizzato. Questo è notato nella mia risposta.
In pausa fino a nuovo avviso.

mio male: volevo dire "-g non ha funzionato"
Florian Straub

4

Per comodità, ecco il riferimento per macOS:

  • -hUscita "leggibile dall'uomo". Usa suffissi unità: byte, Kilobyte, Megabyte, Gigabyte, Terabyte e Petabyte.
  • -k Visualizza i conteggi dei blocchi in blocchi da 1024 byte (1 Kbyte).
  • -m Visualizza il conteggio dei blocchi in blocchi da 1.048.576 byte (1 Mbyte).
  • -g Visualizza i conteggi dei blocchi in blocchi 1.073.741.824 byte (1 Gbyte).

Ecco come funzionano le varie opzioni dato un 1,234,567 KBfile:

$ 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

Vale anche la pena notare che è possibile configurare il comportamento implicito attraverso la BLOCKSIZEvariabile di ambiente:

BLOCKSIZESe la variabile di ambiente BLOCKSIZEè impostata e l' -kopzione non è specificata, i conteggi dei blocchi verranno visualizzati in unità di quel blocco di dimensioni. Se BLOCKSIZEnon è impostato e l' -kopzione non è specificata, i conteggi dei blocchi verranno visualizzati in 512blocchi di byte.


1

Usa du -B1073741824ma attenzione, dà il risultato solo in unità intere e non avrà senso-h


0

Oltre alle risposte precedenti, sembra anche che differisca tra le diverse versioni di coreutils (o impostazioni internazionali?), Poiché sul mio host ottengo:

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.