•
Listar ficheros ordenados por tamaño en un sistema de ficheros
Muchas veces resulta útil obtener un listado de todos los ficheros ordenados por tamaño para un determinado sistema de ficheros sin tener en cuenta otros sistemas de ficheros que pueden estar montados en algún punto. Vamos a ver como hacerlo con find y sort.
Para ello es tan simple como usar el siguiente comando:
find / -xdev -type f -ls | sort -n -k 7
En este caso a find le indicamos:
- Buscamos en el sistema de ficheros /
- Con -xdev indicamos que no cruce sistemas de ficheros (se ignoran los que no pertenezcan al root) Por ejemplo, en un sistema con estos sistemas de ficheros:
# df -hP Filesystem Size Used Avail Use% Mounted on /dev/sda2 3.9G 2.8G 904M 76% / /dev/mapper/local-var 64G 24G 38G 39% /var /dev/mapper/local-local 64G 6.1G 55G 11% /usr/local tmpfs 2.0G 0 2.0G 0% /dev/shm /dev/sda1 99M 23M 72M 24% /boot
Con find y -xdev solo accederíamos a los ficheros almacenados en /dev/sda2
- Mediante -type f indicamos que solo queremos ver ficheros regulares
- Finalmente con -ls le indicamos que nos muestre la salida como si de un ls se tratara. Una salida de ejemplo podría ser:
6028 3008 -rw------- 1 root root 3065290 May 23 2008 /boot/initrd-2.6.18-53.1.21.el5PAE.img
A continuación mediante sort podemos ordenar los ficheros:
- Primero de todo indicamos mediante -n que trataremos los valores como numéricos. Si no lo especificamos la ordenación sería por los caracteres ASCII
- A continuación indicamos la columna por la que queremos ordenar mediante el parámetro key. En este caso el tamaño del fichero lo podemos encontrar en la columna 7 por que pasaríamos como parámetro -k 7
Relacionados
Imprimir
Deja un comentario: