GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar archivos grandes de Linux con los comandos find y du

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

Linux
  1. Encuentra archivos y directorios en Linux con el comando de búsqueda

  2. Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

  3. Cómo encontrar archivos con el comando fd en Linux

  4. Comandos de búsqueda de Linux

  5. ¿Cómo chmod y chown archivos ocultos en Linux?

Cómo usar los comandos de búsqueda y localización en Linux:una guía para principiantes

Encuentra archivos grandes en Linux

Cómo usar sed para buscar y reemplazar cadenas en archivos

Cómo encontrar y eliminar archivos duplicados en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos