Introducción
Con el tiempo, la unidad de disco puede quedarse sin espacio libre debido a que muchos archivos innecesarios ocupan grandes cantidades de espacio en disco. Por lo general, los sistemas Linux se quedan sin espacio en disco debido a archivos de respaldo o de registro grandes.
Este tutorial explica cómo encontrar los archivos y directorios más grandes en sistemas Linux usando los comandos find y du.
Encuentra archivos grandes usando el comando buscar
El comando de búsqueda es una de las herramientas más poderosas para los administradores de sistemas Linux. Le permite buscar archivos y directorios según varios criterios, incluido el tamaño del archivo. Por ejemplo, si desea buscar archivos de más de 100 MB, debe usar el siguiente comando en el directorio de trabajo actual:
sudo find. -xdev -type f -size +100M
Reemplazar . con la ruta al directorio donde desea buscar archivos más grandes
La salida mostrará una lista de archivos sin más información.
/var/lib/libvirt/images/archlinux.img
/var/lib/libvirt/images/slackware.img
El comando de búsqueda también se puede utilizar junto con otras herramientas como ls o sort para realizar operaciones en dichos archivos.
En el siguiente ejemplo, usamos el comando ls junto con el comando find para imprimir una lista de todos los archivos con sus respectivos tamaños y ordenamos la lista según la quinta columna, que es el tamaño del archivo usando el comando sort.
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 Sep 6 11:42 /var/lib/libvirt/images/archlinux.img
-rw------- 1 root root 3725M Sep 6 13:19 /var/lib/libvirt/images//slackware.img
Analicemos el comando:
- encontrar. -xdev -type f -size + 100M -print Buscar solo archivos ( -type f ) en el directorio de trabajo actual ( . ), mayores de 100MB ( -size + 100M ), no descienda de 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 Se envía la salida del comando de búsqueda al xargs que ejecuta el comando ls -lh y la salida se imprimirá en un formato legible.
- sort -k5,5 -h -r Ordena las filas según la quinta columna ( -k5,5 ), compara los valores en un formato legible por humanos ( -h ) e invierte el resultado ( -r ).
- cabezal Imprime solo las primeras 10 líneas de la salida transportada.
El comando de búsqueda 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.
Encuentre archivos y directorios grandes usando el comando du
El comando du se utiliza para estimar el uso del espacio de archivos y es especialmente ú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./.random.d/linux
24G./.random.d
13G./Articoli
5.2G./.news
Explicación del comando:
- du -ahx. Estime el uso de espacio en disco en el directorio de trabajo actual ( . ), Cuente archivos y directorios ( a ), imprima el tamaño en formato legible por humanos ( h ) y omita directorios en diferentes sistemas de archivos ( x ).
- sort -rh ordena las filas comparando los valores en un formato legible ( -h ) e invirtiendo el resultado ( -r ).
- head -5 imprime solo las primeras 5 líneas de la salida transportada.
El comando du incluye otras opciones que puede utilizar para refinar el resultado.
Conclusión
Encontrar archivos grandes es muy útil cuando el disco está lleno y desea liberarlo.