Du significa uso de disco.
El comando du de Linux se usa para resumir el uso del disco en términos de tamaño de archivo. Se puede usar con carpetas para obtener el uso total del disco. Este artículo proporciona algunos ejemplos sobre cómo usar el comando du de manera efectiva.
Todos los ejemplos de du que se muestran aquí se ejecutan en un directorio que contiene los siguientes contenidos:
$ ls linuxKernel redhat testfile.txt ubuntu
1. Un ejemplo básico
$ du -a 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 .
He usado el indicador -a en el ejemplo anterior para mostrar el uso del disco de todos los archivos y directorios. Es porque si no se usa -a, solo se enumeran los directorios que ocupan algún disco. Por ejemplo:
$ du 4 ./redhat 4 ./ubuntu 16 .
Entonces, ahora tenemos una idea básica sobre cómo usar el comando du pero, al igual que yo, ¿a alguien le resultaría difícil entender qué significan esos números en la salida?
Pasemos a los siguientes ejemplos y las nubes se despejarán apagado.
2. Muestra la salida en forma legible por humanos usando -h
$ du -ah 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K .
Entonces vemos que en el ejemplo anterior, usé el indicador -h junto con el indicador -a. El indicador -h se utiliza para obtener la salida en formato legible por humanos. Como puede ver, la salida anterior es más fácil de entender ya que el uso del disco se enumera en términos de 'K'.
3. Muestra el total general en la salida usando -c
El ejemplo que estoy usando tiene una estructura de directorio pequeña. Uno podría calcular fácilmente el uso total del disco del directorio calculándolo manualmente. Pero, en el escenario de tiempo real, el cálculo manual no es práctico. Entonces, existe una bandera a través de la cual se puede obtener el uso total en la salida.
$ du -ahc 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K . 16K total
Entonces vemos que a través del indicador -c, uno puede obtener el uso total en la salida.
4. Mostrar solo el conteo total usando -s
Si desea obtener solo el tamaño total en forma de resumen, use el indicador -s.
$ du -sh 7.3G .
Entonces vemos que solo se mostró el tamaño total en la salida anterior.
5. Alimentar archivos de entrada desde stdin usando '–files0-from=-'
Si surge una situación en la que desea proporcionar una entrada 'du' sobre la marcha, entonces esto es posible a través del indicador '-files0-from'.
$ du -ah --files0-from=- copy12K copy file12K file helloWorld12K helloWorld ^C $
Tenga en cuenta que pasamos el valor como '-' al indicador '–files0-from' para indicar 'du' para comenzar a aceptar los nombres de archivo de stdin. Después de ingresar cada nombre de archivo, presione ctrl+D dos veces para producir la salida para ese archivo.
6. Termina la salida con un byte nulo usando -0
Si desea producir cada salida que termine sin una nueva línea pero con un byte nulo, use el indicador -0.
$ du -am -0 0 ./redhat/rh71 ./redhat1 ./testfile.txt0 ./linuxKernel0 ./ubuntu/ub101 ./ubuntu1
Entonces vemos que la salida anterior se produjo en una sola línea ya que cada salida terminó con un byte 0.
7. Personaliza el tamaño del bloque en la salida a través de –block-size
Hablando de tamaño de bloque, algunas veces se requiere tener salida de una manera diferente. Por ejemplo:
$ du -ac 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . 16 total
La salida anterior se representa en términos de número de bloques de 1024 bytes. Ahora suponga que si requerimos que la salida esté en un número de bloque de 2048 bytes, entonces en este caso se puede usar el indicador '–block-size'.
$ du -ahc --block-size=2048 0 ./redhat/rh7 2 ./redhat 2 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 2 ./ubuntu 8 . 8 total
Entonces vemos que la salida anterior tiene la forma de un número de bloques de 2048 bytes.
8. Muestra la salida en bytes usando -b
Para obtener la salida en términos de bytes, se puede usar el indicador -b.
$ du -achb 0 ./redhat/rh7 4096 ./redhat 3 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4096 ./ubuntu 12291 . 12291 total
Entonces vemos que la salida anterior es en términos de bytes.
9. Excluir tipos particulares de archivo(s) usando –exclude
Supongamos que no queremos tener las estadísticas de los archivos .txt. Entonces, para este tipo de requisitos, hay un indicador de "exclusión".
$ du -cbha --exclude="*.txt" 0 ./redhat/rh7 4.0K ./redhat 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 12K . 12K total
Entonces vemos que en la salida anterior, la entrada del archivo de texto no estaba allí.
10. Muestra la hora de modificación y personaliza el estilo de visualización
Esto se puede lograr a través de las marcas –time y –time-style.
$ du -cbha --time 0 2012-05-22 21:52 ./redhat/rh7 4.0K 2012-05-22 21:52 ./redhat 3 2012-06-18 19:23 ./testfile.txt 0 2012-05-22 21:52 ./linuxKernel 0 2012-05-22 21:52 ./ubuntu/ub10 4.0K 2012-05-22 21:52 ./ubuntu 13K 2012-06-18 19:23 . 13K 2012-06-18 19:23 total
$ du -cbha --time --time-style=iso 0 2012-05-22 ./redhat/rh7 4.0K 2012-05-22 ./redhat 3 2012-06-18 ./testfile.txt 0 2012-05-22 ./linuxKernel 0 2012-05-22 ./ubuntu/ub10 4.0K 2012-05-22 ./ubuntu 13K 2012-06-18 . 13K 2012-06-18 total
Para –time-style, también puede usar iso completo, iso largo, iso.