Saber cuánto espacio ocupa un archivo o una carpeta en una partición es fundamental para un administrador o desarrollador de sistemas. Este conocimiento le permite planificar actualizaciones de almacenamiento, administrar y rotar archivos y realizar otras tareas necesarias de administrador del sistema.Mi comando favorito para este tipo de recopilación de datos es du
Pedido.
Esta du
El comando resume el uso del disco para cada archivo y recursivamente para cada directorio. Ofrece muchas opciones útiles solo o en la combinación adecuada. Vea la página de du man para todas las opciones.Este es uno de mis trucos favoritos. du
.
Tabla de Contenidos
usar DU
Por lo general, me gusta verificar el uso de varios directorios al mismo tiempo. De esa manera, sé qué directorios son mis mayores infractores.Supongamos que quiero comprobar todos los directorios /var
Este es mi estandarte du
Comando, con opciones largas para mayor claridad:
$ du --all --human-readable \
--one-file-system \
--max-depth=1 /var
Aquí hay un desglose de cada opción (versión corta entre paréntesis):
-
--all
(-a
): Imprime todos los archivos y carpetas. --human-readable
(-h
): imprima el tamaño en fragmentos en lugar de bytes (por ejemplo, 1K en lugar de 1024).--one-file-system
(-x
): omitir directorios en diferentes sistemas de archivos.El resultado es que si/var/log
se monta por separado, no se cuenta porque está en un sistema de archivos separado. Esto garantiza que veo el espacio en disco utilizado en una sola ruta de directorio, no en medios físicos.--max-depth=1
(-d
): imprime un directorio (o archivo, usa--all
) solo si está por debajo de un nivel en este caso/var
. si utiliza2
En cambio, imprime la carpeta dos capas debajo/var
. no como--one-file-system
opción, el tamaño informado sigue siendo el mismo que esta opción; simplemente no tengo que ver tantos resultados.
Esta es mi salida de muestra habitual du
Pedido:
$ du -ahx --max-depth=1 /var
0 /var/lock
0 /var/mail
0 /var/run
12K /var/kerberos
12K /var/sieve
135M /var/spool
1.6G /var/log
181M /var/cache
20K /var/db
336K /var/named
3.7G /var/vmail
4.0K /var/adm
4.0K /var/crash
4.0K /var/ftp
4.0K /var/games
4.0K /var/gopher
4.0K /var/local
4.0K /var/nis
4.0K /var/opt
4.0K /var/preserve
4.0K /var/.updated
4.0K /var/yp
4.2G /var/lib
44K /var/tmp
8.0K /var/empty
9.7G /var
Si bien esta salida está bien, sería mejor ordenar por capacidad. De esa manera, es más fácil leer de un vistazo.
[ Check out 10 tutorials to sharpen your command-line skills. ]
El truco: ordenar la salida
La buena noticia es que puedo ordenar la salida en el orden que quiera pasando sort -k1 -rh
como entrada Por ejemplo, cuando ejecuto el comando para ordenar la salida por la primera columna (capacidad), obtengo los siguientes resultados:
$ du -ahx --max-depth=1 /var | sort -k1 -rh
9.7G /var
4.2G /var/lib
3.7G /var/vmail
1.6G /var/log
181M /var/cache
135M /var/spool
336K /var/named
44K /var/tmp
20K /var/db
12K /var/sieve
12K /var/kerberos
8.0K /var/empty
4.0K /var/yp
4.0K /var/.updated
4.0K /var/preserve
4.0K /var/opt
4.0K /var/nis
4.0K /var/local
4.0K /var/gopher
4.0K /var/games
4.0K /var/ftp
4.0K /var/crash
4.0K /var/adm
0 /var/run
0 /var/mail
0 /var/lock
Supervisar el uso del disco
También hay herramientas gráficas para comprobar el espacio en disco, como ncdu
Pedidopero para mi, du
Los comandos son simples, directos y eficientes. Espero que este consejo rápido te haya ayudado a mejorar tus conceptos básicos de administrador de sistemas. Estas opciones me facilitan la recopilación de datos de tamaño de archivo, que se convierte en una segunda naturaleza cuando se ingresa como un alias en .bashrc.