Risposte:
GNU du
ha l' --block-size
opzione:
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à.
-h
non 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-size
viene utilizzato. Questo è notato nella mia risposta.
Per comodità, ecco il riferimento per macOS:
-h
Uscita "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 KB
file:
$ 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 BLOCKSIZE
variabile di ambiente:
BLOCKSIZE
Se la variabile di ambienteBLOCKSIZE
è impostata e l'-k
opzione non è specificata, i conteggi dei blocchi verranno visualizzati in unità di quel blocco di dimensioni. SeBLOCKSIZE
non è impostato e l'-k
opzione non è specificata, i conteggi dei blocchi verranno visualizzati in512
blocchi di byte.