¿Cómo veo du en GB en lugar de MB en Linux?

24

Esto funciona:

du -cshm .

Pero esto falla:

du -cshg .

¿Cómo puedo verlo en unidad de GB?

apache
fuente

Respuestas:

41

GNU dutiene la --block-sizeopción:

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

Como señaló sajb , omitir el argumento del tamaño de bloque escalará automáticamente la salida (y mostrará la unidad). El uso de cualquier argumento de tamaño de bloque muestra el número pero omite la unidad.

Pausado hasta nuevo aviso.
fuente
¡En (GNU coreutils) 8.25 -h no funcionó, mientras que block-size = 1G sí!
Florian Straub
@FlorianStraub: No estoy seguro de lo que quieres decir con -hno trabajar. Es una opción compatible que hace que la salida sea "legible para humanos" (es decir, con sufijos de unidad y escalados). Pero es cierto que se ignora cuando --block-sizese usa. Esto se nota en mi respuesta.
Pausado hasta nuevo aviso.
mi mal: quise decir "-g no funcionó"
Florian Straub
4

Por conveniencia, aquí hay una referencia para macOS:

  • -hSalida "legible para humanos". Utilice sufijos de unidad: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte y Petabyte.
  • -k Visualice los recuentos de bloques en bloques de 1024 bytes (1 Kbyte).
  • -m Visualice recuentos de bloques en bloques de 1,048,576 bytes (1 Mbyte).
  • -g Visualice el recuento de bloques en bloques de 1,073,741,824 bytes (1 Gbyte).

Así es como funcionan las diferentes opciones dado un 1,234,567 KBarchivo:

$ 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

También vale la pena señalar, puede configurar el comportamiento implícito a través de la BLOCKSIZEvariable de entorno:

BLOCKSIZESi se establece la variable de entorno BLOCKSIZEy -kno se especifica la opción, los recuentos de bloques se mostrarán en unidades de ese tamaño de bloque. Si BLOCKSIZEno está configurado y la -kopción no está especificada, los recuentos de bloques se mostrarán en 512bloques de bytes.

Alexander - Restablece a Monica
fuente
1

Use du -B1073741824pero tenga cuidado, da el resultado solo en unidades enteras, y no será significativo con-h

geocar
fuente
0

Además de las respuestas anteriores, también parece diferir entre las diferentes versiones de coreutils (o locale?), Ya que en mi host obtengo:

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