Los comandos de Linux find
y du
vendrá a su rescate.
Uso del comando du
El du
El comando se utiliza para estimar el uso del espacio de archivos en el sistema Linux. Muestra la información de uso del disco.
Usemos du
para comprobar el contenido de /boot
:
# du
0 ./efi/EFI/centos
0 ./efi/EFI
0 ./efi
2400 ./grub2/i386-pc
3176 ./grub2/locale
2504 ./grub2/fonts
8096 ./grub2
4 ./grub
250556 .
Los valores en el extremo izquierdo son el uso del disco, seguido del directorio específico responsable de ese uso. La fila inferior es un resumen de todo el /boot/
directorio.
Aquí hay una lista de du
importantes opciones
-h
,--human-readable
imprime salidas de tamaño en un formato legible por humanos.-s
,--summarize
se puede combinar con-h
obtener un resumen del uso del directorio en un formato legible por humanos.-a
,--all
enumera los tamaños de todos los archivos y directorios en la ruta de archivo dada. Puedes combinar con-h
Ahora, en nuestro caso, nos gustaría usar el espacio de archivo y verificar primero el más grande, podemos ordenarlos usando el sort
dominio. Si queremos limitar nuestro resultado, el head
el comando será útil,
Obtener los archivos más grandes con du
:
du -a / | sort -n -r | head -n 20
El comando anterior usa du
para obtener el uso del disco, luego el contenido se canaliza para ordenar, luego head solo generará los primeros 20 elementos.
Salida:
# du -a / | sort -n -r | head -n 20
du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216 /
38679004 /var
38558036 /var/log
38486524 /var/log/asterisk
18136900 /var/log/asterisk/full.prod-asterisk
15786756 /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300 /home/centos
635300 /home
634528 /home/centos/debug.prod-asterisk
490704 /tmp
480260 /tmp/pip.log
403512 /opt/instana/agent
403512 /opt/instana
Muchas veces obtendrá algunos errores antes de obtener su lista de archivos grandes. Esto a menudo proviene de archivos a los que no puede acceder o de cualquier salida estándar. Usa 2>/dev/null
para ignorar aquellos como en este comando:
du -a / 2>/dev/null | sort -n -r | head -n 20
Usando el comando de búsqueda
Puedes usar el find
Comando para apuntar solo a archivos en una búsqueda y encontrar el tamaño de cada uno, luego use una combinación de ordenar y encabezado para filtrar el contenido.
Ejemplo:
find / -type f -printf '%s %p\n' | sort -nr | head -10
El comando anterior busca todos los archivos en el sistema, luego imprime el tamaño y la ruta usando %s and %p
directivas Luego, el resultado se canaliza para ordenar y filtrar desde el más grande hasta el más pequeño, luego la cabeza se limitará a 10 resultados. El -n
es para clasificación numérica y -r
pasado a sort invertirá el resultado de las comparaciones.
Salida:
# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive
Conclusión
De la explicación anterior, aprendió cómo obtener los archivos y directorios más y más grandes en Linux. También aprendimos a usar el sort
comando para ordenar la salida devuelta y el head
Comando para limitar solo el resultado al número que especificamos.
Para verificar más sobre los comandos que usamos, no dude en usar las páginas man. Usa estos comandos:
man du
man find
man sort
man head
man tail