Como vejo du em GB em vez de MB em linux?

24

Isso funciona:

du -cshm .

Mas isso falha:

du -cshg .

Como posso vê-lo na unidade de GB?

apache
fonte

Respostas:

41

O GNU dutem a --block-sizeopção:

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

Como sajb observou, a omissão do argumento do tamanho do bloco escalará automaticamente a saída (e exibirá a unidade). O uso de qualquer argumento de tamanho de bloco exibe o número, mas omite a unidade.

Pausado até novo aviso.
fonte
No (GNU coreutils) 8,25 -h não funcionou, enquanto o tamanho do bloco = 1G funcionou!
Florian Straub
@FlorianStraub: Não sei ao certo o que você quer dizer com -hnão trabalhar. É uma opção suportada que faz com que a saída seja "legível por humanos" (ou seja, com sufixos de unidade e redimensionados). Mas é verdade que é ignorado quando --block-sizeé usado. Isso é observado na minha resposta.
Pausado até novo aviso.
meu mal: eu quis dizer "-g não funcionou"
Florian Straub
4

Por conveniência, aqui está a referência para o macOS:

  • -hSaída "legível por humanos". Use sufixos de unidade: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte e Petabyte.
  • -k O bloco de exibição conta em blocos de 1024 bytes (1 Kbyte).
  • -m O bloco de exibição conta em blocos de 1.048.576 bytes (1 Mbyte).
  • -g O bloco de exibição conta em blocos de 1.073.741.824 bytes (1 Gbyte).

Aqui está como as várias opções funcionam, dado um 1,234,567 KBarquivo:

$ 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

Também vale ressaltar, você pode configurar o comportamento implícito através da BLOCKSIZEvariável de ambiente:

BLOCKSIZESe a variável de ambiente BLOCKSIZEestiver configurada e a -kopção não for especificada, as contagens de blocos serão exibidas em unidades desse tamanho de bloco. Se BLOCKSIZEnão estiver definido e a -kopção não for especificada, a contagem de blocos será exibida em 512blocos de bytes.

Alexander - Restabelecer Monica
fonte
1

Use, du -B1073741824mas cuidado, ele fornece o resultado apenas em unidades inteiras e não será significativo com-h

geocar
fonte
0

Além das respostas anteriores, também parece diferir entre diferentes versões do coreutils (ou localidade?), Pois no meu host eu recebo:

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