du Comando en LINUX

Mientras trabaja en LINUX, puede surgir una situación en la que desee transferir un conjunto de archivos o el directorio completo. En tal caso, es posible que desee saber el espacio en disco consumido por ese directorio o conjunto de archivos en particular. Como se trata de LINUX, también existe una utilidad de línea de comando para esto, que es el comando du que estima y muestra el espacio en disco utilizado por los archivos.

Entonces, en palabras simples , la utilidad de línea de comandos le ayuda a averiguar el uso del disco de un conjunto de archivos o un directorio .

Aquí está la sintaxis del comando du:

//syntax of du command

du [OPTION]... [FILE]...
       or
du [OPTION]... --files0-from=F

donde OPCIÓN se refiere a las opciones compatibles con el comando du y ARCHIVO se refiere al nombre del archivo del que desea saber el espacio en disco ocupado.

Usando el comando du

Supongamos que hay dos archivos, digamos kt.txt y pt.txt , y desea saber el uso del disco de estos archivos, entonces simplemente puede usar el comando du especificando los nombres de los archivos junto con él como:

//using du command

$du kt.txt pt.txt
8       kt.txt
4       pt.txt

/* the first column 
displayed the file's
disk usage */

Entonces, como se muestra arriba, du mostró el espacio en disco utilizado por los archivos correspondientes.

Ahora, los valores mostrados están en las unidades del primer TAMAÑO disponible desde – -block-size , y las variables de entorno DU_BLOCK_SIZE , BLOCK_SIZE y BLOCKSIZE y, si no están en este formato, las unidades son por defecto 1024 bytes (o 512 si POSIXLY_CORRECT es establecer).

No se confunda con el párrafo anterior. Simplemente podemos usar la opción -h para obligar a du a producir la salida en el formato legible por humanos.

Opciones para el comando du

  • -a, – -all opción: Esta opción produce conteos como salida para todos los archivos, no solo para los directorios.
  • – Opción de tamaño aparente: Esto imprime los tamaños aparentes de los archivos y no el uso del disco, que puede ser mayor debido a agujeros en los archivos (escasos), fragmentación interna y bloques indirectos, pero en realidad el tamaño aparente es menor.
  • -c, – -total opción: Esto muestra un gran total.
  • -B, – opción -block-size=SIZE: Esta opción hace que el tamaño se escale por TAMAÑO como -BM imprime el tamaño en Megabytes.
  • -b, – Opción -bytes: esta opción es equivalente a – -tamaño aparente – -tamaño de bloque=1 .
  • -D, – Opción -dereference-args: esta opción se utiliza para desreferenciar solo los enlaces simbólicos enumerados en la línea de comando.
  • Opción -H: esta opción es equivalente a la opción -D anterior .
  • – Opción -files0-from=F : se usa para resumir el uso del disco de los nombres de archivo terminados en NUL especificados en el archivo F y si el archivo F es «-«, lee los nombres de la entrada estándar.
  • -h, – -opción legible por humanos: Imprime los tamaños en formato legible por humanos, es decir , redondeando valores y usando abreviaturas como 1 K y esta es la opción más utilizada con du.
  • – Opción -si: Esto es muy similar a la opción -h pero usa potencia de 1000 y no de 1024.
  • Opción -k: es equivalente a – -block-size=1K .
  • -l, – Opción -count-links: este conteo se dimensiona muchas veces si los archivos tienen enlaces fijos .
  • Opción -m: Esto es equivalente a – – block-size=1M .
  • -L, – -opción de desreferencia: Esta opción desreferencia todos los enlaces simbólicos.
  • -P, – opción -no-dereference: esta opción le dice a du que no siga ningún enlace simbólico, que es la configuración predeterminada.
  • -0, opción nula: Esto finaliza cada línea de salida con 0 bytes en lugar de una nueva línea.
  • -S, – Opción -separate-dirs: Esto hace que la salida no incluya el tamaño de los subdirectorios .
  • -s, – Opción -summarize: esta opción permitirá mostrar un total solo para cada argumento.
  • -x, – opción -one-file-system: Esto hará que du salte directorios en diferentes sistemas de archivos.
  • -X, – -exclude-from=FILE opción: Excluir archivos que coincidan con cualquier patrón dado en FILE.
  • – Opción -exclude=PATRÓN: Excluirá archivos que coincidan con PATRÓN.
  • -d, – opción -max-depth=N: Imprime el total de un directorio (o archivo, con –all) solo si tiene N o menos niveles por debajo del argumento de la línea de comando; –max- depth=0 es lo mismo que –summarize.
  • – Opción -time: Esto mostrará la hora de la última modificación de cualquier archivo en el directorio, o cualquiera de sus subdirectorios.
  • – Opción -time=WORD: Muestra la hora como WORD en lugar de la hora de modificación: atime, access, use, ctime o status .
  • – Opción -time-style=STYLE: muestra la hora usando ESTILO: iso completo, iso largo, iso o +FORMATO (FORMATO se interpreta como el formato de fecha).
  • – Opción de ayuda: Esto mostrará un mensaje de ayuda y saldrá.
  • – Opción de versión: Esto mostrará la información de la versión y saldrá.

Ejemplos de uso del comando du

1. Uso de la opción -h: como se mencionó anteriormente, la opción -h se usa para producir la salida en un formato legible por humanos.

//using -h with du

$du -h kt.txt pt.txt
8.0K    kt.txt
4.0K    pt.txt

/*now the output
is in human readable
format i.e in
Kilobytes */

2. Usar du para mostrar el uso del disco de un directorio: ahora, si pasa un nombre de directorio, diga kartik como argumento a du, mostrará la información de uso del disco del directorio de entrada kartik y sus subdirectorios (si los hay).

/*using du to display disk usage 
of a directory and its
sub-directories */

$du kartik
4       kartik/thakral
24      kartik

Arriba se muestra la información de uso del disco del directorio kartik y su subdirectorio thakral .

3. Usando la opción -a: ahora, como se ve arriba, solo se muestra la información de uso del disco del directorio
kartik y su subdirectorio thakral , pero ¿qué sucede si también desea conocer la información de uso del disco de todos los archivos presentes en el directorio kartik ? Para esto, use la opción -a .

//using -a with du

$du -a kartik
8       kartik/kt.txt
4       kartik/pt.txt
4       kartik/pranjal.png
4       kartik/thakral.png
4       kartik/thakral
24      kartik

/*so with -a option used
all the files (under directory
kartik) disk usage info is
displayed along with the 
thakral sub-directory */

4. Uso de la opción -c: esta opción muestra el total general como se muestra.

//using -c with du

$du -c -h kt.txt pt.txt
8.0K    kt.txt
4.0K    pt.txt
12.0K   total

/* at the end
total is displayed 
for the disk usage */

5. Uso de la opción –time: esta opción se utiliza para mostrar la hora de la última modificación en la salida de du.

//using --time with du

$du --time kt.txt
4       2017-11-18 16:00       kt.txt

/*so the last
modification date and
time gets displayed
when --time 
option is used */

6. Usando la opción – -exclude=PATTERN: En uno de los ejemplos anteriores, se mostró toda la información relacionada con el uso del disco de archivos del directorio kartik . Ahora, suponga que desea conocer la información de los archivos .txt solamente y no de los archivos .png, en ese caso, para excluir el patrón .png , puede usar esta opción.

//using --exclude=PATTERN with du

$du --exclude=*.png -a kartik
8       kartik/kt.txt
4       kartik/pt.txt
4       kartik/thakral
24      kartik

/*so, in this case
.png files info are
excluded from the output */

7. Usando la opción – -max-depth=N: ahora, esta opción le permite limitar la salida de du a una profundidad particular de un directorio.
Suponga que tiene un directorio llamado AMIGOS bajo el cual tiene subdirectorios como AMIGOS/universidad y AMIGOS/escuela y también bajo el subdirectorio universidad tiene otro subdirectorio como AMIGOS/universidad/despedida , entonces puede usar – -max- depth =N opción en este caso como:

//using --max-depth=N with du

$du --max-depth=0 FRIENDS
24       FRIENDS


/* in this case you 
restricted du output
only to top=level
directory */

Ahora, para los subdirectorios college y school puedes usar:

$du --max-depth=1 FRIENDS
16      FRIENDS/college
8       FRIENDS/school
24      FRIENDS

Ahora, para AMIGOS/universidad/despedida puedes usar –max- depth=2 como:

$du --max-depth=2 FRIENDS
4       FRIENDS/college/farewell
16      FRIENDS/college
8       FRIENDS/school
24      FRIENDS

/*so this is how N
in --max-depth=N 
is used for levels */

8. Uso de la opción – -files0-from=F: como se mencionó anteriormente, se usa para resumir el uso del disco de los nombres de archivo terminados en NUL especificados en el archivo F y si el archivo F es “-”, lea los nombres del estándar aporte.
Usemos esta opción para recibir entradas de STDIN como:

//using --files0from=F with du

$pwd
/home/kartik

$ls
kt.txt pt.txt thakral

/*now use this option for 
taking input from
STDIN */

$du --files0-from=-
kt.txt8 kt.txt
pt.txt4 pt.txt

/* in this case after 
giving kt.txt as a input
from STDIN there is need to
press Ctrl+D twice then the
output is shown and same for
pt.txt or any other file name
given from STDIN */

Aplicaciones de du command

  • Se puede usar para averiguar el espacio en disco que ocupa un directorio en particular en caso de transferir archivos de una computadora a otra.
  • du command se puede vincular con tuberías a filtros . Un filtro suele ser un programa especializado que transforma los datos de una manera significativa.
  • También existen otras formas, como el comando df , para encontrar el uso del disco, pero todas carecen de la capacidad de mostrar el uso del disco de directorios y archivos individuales .
  • También se puede utilizar para averiguar rápidamente el número de subdirectorios presentes en un directorio.

Ejemplo de uso de du con filtros

Tomemos un ejemplo simple del uso de du con el comando sort para que la salida producida por du se clasifique en orden creciente de tamaño de archivos.


$du -a kartik
8       kartik/kt.txt
4       kartik/pt.txt
4       kartik/pranjal.png
4       kartik/thakral.png
4       kartik/thakral
24      kartik

/*now using du to produce
sorted output */

$du -a kartik | sort -n
4       kartik/pt.txt
4       kartik/pranjal.png
4       kartik/thakral.png
4       kartik/thakral
8       kartik/kt.txt
24      kartik

/* now the output displayed
is sorted according to the size */

El comando sort junto con la opción -n utilizada hace que se muestre la salida en orden numérico con el archivo con el tamaño más pequeño que aparece primero.
De esta forma, se puede utilizar du para organizar la salida según el tamaño.

Eso es todo sobre du comando.

Publicación traducida automáticamente

Artículo escrito por Kartik Thakral y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *