Risposte:
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à.
-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.
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 ambienteBLOCKSIZEè impostata e l'-kopzione non è specificata, i conteggi dei blocchi verranno visualizzati in unità di quel blocco di dimensioni. SeBLOCKSIZEnon è impostato e l'-kopzione non è specificata, i conteggi dei blocchi verranno visualizzati in512blocchi di byte.