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 defind
el comando se canaliza axargs
que ejecutals -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.