GNU/Linux >> Tutoriales Linux >  >> Linux

Encuentra archivos grandes en Linux

Con el tiempo, su unidad de disco puede abarrotarse con una gran cantidad de archivos innecesarios que ocupan una gran cantidad de espacio en disco. Por lo general, los sistemas Linux se quedan sin espacio en el disco debido a los grandes archivos de registro o de copia de seguridad.

Este tutorial explica cómo encontrar los archivos y directorios más grandes en sistemas Linux usando find y du comandos.

Buscar archivos grandes usando find Comando #

El find command es una de las herramientas más poderosas en el arsenal de los administradores de sistemas Linux. Le permite buscar archivos y directorios según diferentes criterios, incluido el tamaño del archivo.

Por ejemplo, para buscar archivos con un tamaño superior a 100 MB, en el directorio de trabajo actual, ejecutaría el siguiente comando:

sudo find . -xdev -type f -size +100M
Reemplazar . con la ruta al directorio donde desea buscar los archivos más grandes.

El resultado mostrará una lista de archivos sin información adicional.

/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img

El find El comando también se puede usar en combinación con otras herramientas como ls o sort para realizar operaciones en esos archivos.

En el siguiente ejemplo, estamos pasando la salida de find comando a ls que imprimirá el tamaño de cada archivo encontrado y luego canalizará esa salida al sort comando para ordenarlo según la quinta columna, que es el tamaño del archivo.

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

La salida se verá así:

-rw-------  1 root   root 40967M Jan  5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw-------  1 root   root  3725M Jan  7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw-------  1 root   root  1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw-------  1 root   root   999M Jan  5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw-------  1 root   root   562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw-------  1 root   root   378M Jan  7 22:26 /var/lib/libvirt/images/bionic64_default.img

Si la salida contiene muchas líneas de información, puede usar el head comando para imprimir solo las primeras 10 líneas:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

Analicemos el comando:

  • find . -xdev -type f -size +100M -print - buscar solo archivos (-type f ) en el directorio de trabajo actual (. ), más de 100 MB (-size +100M ), no descender directorios en otros sistemas de archivos (-xdev ) e imprima el nombre completo del archivo en la salida estándar, seguido de una nueva línea (-print ).
  • xargs ls -lh - la salida de find el comando se canaliza a xargs que ejecuta ls -lh comando que imprimirá la salida en un formato legible por humanos de lista larga.
  • sort -k5,5 -h -r - ordenar líneas según la quinta columna (-k5,5 ), compare los valores en formato legible por humanos (-h ) e invertir el resultado (-r ).
  • head :imprime solo las primeras 10 líneas de la salida canalizada.

El find El comando viene con muchas opciones poderosas. Por ejemplo, puede buscar archivos grandes que tengan más de x días, archivos grandes con una extensión específica o archivos grandes que pertenezcan a un usuario en particular.

Buscar archivos y directorios grandes usando du Comando #

El du El comando se usa para estimar el uso del espacio de archivos y es particularmente útil para encontrar directorios y archivos que consumen grandes cantidades de espacio en disco.

El siguiente comando imprimirá los archivos y directorios más grandes:

du -ahx . | sort -rh | head -5

La primera columna incluye el tamaño del archivo y la segunda el nombre del archivo:

55G	.
24G	./.vagrant.d/boxes
24G	./.vagrant.d
13G	./Projects
5.2G	./.minikube

Explicación del comando:

  • du -ahx . :estimar el uso de espacio en disco en el directorio de trabajo actual (. ), cuenta tanto los archivos como los directorios (a ), tamaños de impresión en un formato legible por humanos (h ) y omitir directorios en diferentes sistemas de archivos (x ).
  • sort -rh :ordenar líneas comparando valores en formato legible por humanos (-h ) e invertir el resultado (-r ).
  • head -5 :imprime solo las primeras cinco líneas de la salida canalizada.

El du El comando tiene muchas otras opciones que se pueden usar para refinar la salida del uso del espacio en disco.

Conclusión #

Le mostramos cómo encontrar los archivos y directorios más grandes usando el find y du comandos.

Ahora que sabe cómo encontrar los archivos más grandes en su sistema, es posible que desee leer nuestra guía sobre cómo eliminar archivos y directorios mediante la línea de comandos de Linux.

Si tiene alguna pregunta o comentario, deje un comentario a continuación.


Linux
  1. Cómo encontrar archivos modificados recientes o de hoy en Linux

  2. 5 herramientas de línea de comandos para encontrar archivos rápidamente en Linux

  3. 25 ejemplos prácticos útiles del comando find en Linux

  4. Encuentra archivos y directorios en Linux como un profesional

  5. Comandos de búsqueda de Linux

Cómo encontrar archivos según sus permisos en Linux

3 formas de encontrar archivos y directorios en Linux

Cómo mover una gran cantidad de archivos en Linux

Cómo copiar una gran cantidad de archivos en Linux

Encuentre archivos y directorios en Linux fácilmente

Encuentra texto en archivos en Linux usando grep