Ordenar archivos por tamaño en Linux
- Encontrar los archivos más grandes y más pequeños en un directorio en Linux
- Encontrar el tamaño de todos los directorios en Linux
- Encontrar archivos más grandes que un tamaño específico en Linux
- Ver el uso del disco en Linux
A veces, le gustaría hacer una limpieza profunda del sistema encontrando archivos innecesariamente grandes y eliminándolos o eliminando archivos más pequeños que un tamaño predeterminado, como los registros. Linux ofrece varias utilidades que pueden ayudarnos a encontrar dichos archivos cuando se usan en conjunto.
Este tutorial explicará cómo usar find
para usos cotidianos, como encontrar los archivos en una carpeta en función de su tamaño.
Encontrar los archivos más grandes y más pequeños en un directorio en Linux
Para encontrar los archivos más grandes en una carpeta determinada, podemos usar los comandos du
y sort
.
user@linux:~$ ls -lh
-rw-r--r-- 1 user user 8.0M Jan 1 00:00 a
-rw-r--r-- 1 user user 4.0M Jan 1 00:00 b
-rw-r--r-- 1 user user 2.0M Jan 1 00:00 c
-rw-r--r-- 1 user user 1.0M Jan 1 00:00 d
user@linux:~$ du -h * | sort -h
1.0M d
2.0M c
4.0M b
8.0M a
Esto imprimirá los archivos en orden de tamaño creciente, por lo que el archivo más grande en el directorio estará al final de la salida del programa, mientras que el más pequeño estará al principio.
Tenga en cuenta el uso de la bandera -h
: esto le dice a los comandos que los tamaños se dan en la forma legible por humanos.
Encontrar el tamaño de todos los directorios en Linux
El siguiente comando busca y ordena los directorios en orden ascendente de tamaño en su directorio de inicio.
user@linux:~$ sudo find /var/ -maxdepth 1 -type d -exec du -sh {} \; | sort -h
4.0K /var/local
4.0K /var/mail
4.0K /var/opt
56K /var/spool
60K /var/tmp
92K /var/snap
7.3M /var/backups
4.3G /var/log
4.4G /var/cache
17G /var/lib
25G /var/
Encontrar archivos más grandes que un tamaño específico en Linux
Si conoce un tamaño mínimo o máximo para los archivos que busca, puede utilizar el comando find
para enumerar dichos archivos.
Suponga que desea encontrar todos los archivos de más de 200 MB (200M). Podemos hacer esto con el siguiente comando, que además imprime el tamaño de cada archivo descubierto. Usamos sudo
para descender a todos los directorios de propiedad raíz.
Tenga en cuenta que la salida de su ejecución puede generar archivos diferentes.
user@linux:/var$ sudo find . -type f -size +200M -exec ls -lh {} \;
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/snaps/qt513_24.snap
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/cache/cf177ca655544816bb73b6d8e89c83753b96548f105acd563c1bf1b7d0d046bd3e99a96db5bfe912f8a446a8e9d5b6c5
Ver el uso del disco en Linux
El comando de Linux df
nos permite ver el uso general del disco en cada partición de su sistema de archivos, lo que ayuda a reducir las particiones donde el espacio está sobreutilizado. Ejecutamos lo siguiente para encontrar el uso del disco.
Una vez más, esto puede ser bastante diferente según la configuración de su disco. Las entradas con snap
se denominan discos de bucle invertido, que son discos virtuales en los que se montan imágenes de disco, según lo requiere la utilidad Snap en Ubuntu.
user@linux:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.1M 1.6G 1% /run
/dev/nvme0n1p6 200G 45G 146G 24% /
tmpfs 7.8G 397M 7.4G 5% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 96M 36M 61M 37% /boot/efi
/dev/loop1 56M 56M 0 100% /snap/core18/2253
/dev/loop0 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop2 512K 512K 0 100% /snap/gifex/3
/dev/loop3 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop4 128K 128K 0 100% /snap/bare/5
/dev/loop6 363M 363M 0 100% /snap/qt513/24
/dev/loop7 100M 100M 0 100% /snap/core/11993
/dev/sda7 1.1T 384G 677G 37% /home
tmpfs 1.6G 1.9M 1.6G 1% /run/user/1000
/dev/loop8 56M 56M 0 100% /snap/core18/2284