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