SCRIPT linux ordenar archivos

Cómo mostrar archivos ordenados por tamaño mediante script GNU/Linux

Compartir

Descubre cómo mostrar archivos ordenados por tamaño en GNU/Linux de manera sencilla mediante un pequeño script one-line (script Linux de una linea) que podrás reutilizar tantas veces como necesites.

Esta consulta puede ayudarnos a localizar cuales son los ficheros más grandes que tenemos dentro de un sistema de ficheros que está a punto de quedarse sin espacio para purgar o mover los archivos que no queramos mantener o que sean más sacrificables con el fin de mantener el sistema de ficheros con suficiente espacio libre y evitar un llenado del disco que pudiera derivar en una caída del mismo.

En este caso, para realizar esta tarea, dado que estamos en el mundo de GNU/Linux, hemos decidido usar comandos nativos de cualquier sistema de este tipo, sin hacer uso de ningún leguaje de scripting como podría ser Python, Perl, etc.

Ahora te vamos a dar posibilidad de elegir:

  • Si quieres aprender las distintas opciones de este comando sigue leyendo normalmente.
  • Si solo te interesa el comando o script en sí y te quieres ahorrar leer la explicación pincha aquí.

 

 

Cómo mostrar archivos ordenados por tamaño mediante script GNU/Linux:

En este caso usaremos el siguiente comando “oneline”:

# du -a | sort -n -r | less

 

En el que se usa la combinación de los comandos “du” y “sort” junto a una tubería (pipeline) para hacer el tratamiento de la salida del comando anterior.

Vamos a comentar brevemente cómo se compone el comando y cómo es tratado.

Por un lado, se lanza el comando “du” (Disk Usage) es un comando de UNIX y GNU/Linux que es ampliamente usado para la consulta del espacio disponible dentro de un disco duro.

El comando tiene una estructura muy sencilla, en el que simplemente se pone el comando, las opciones y la unidad o fichero sobre el que se está haciendo la consulta, con una estructura similar a la siguiente:

# du <opciones> <fichero/sistema>

El comando, básicamente, hace un repaso de la estructura de ficheros de manera recursiva sumando el espacio ocupado por cada uno de los archivos hasta dar un espacio total usado.

En este caso, el comando se usa junto al modificador “-a” que indica que se deben tener en cuenta todos los ficheros, no solo los directorios.

NOTA: En caso de aprender más sobre “du” se puede consultar la página de manual du(1) – Linux manual page (man7.org)

La ejecución de ese comando “du -a” no se muestra, sino que pasa por una tubería para ser la entrada del siguiente comando en la lista, que en este caso es “sort -n -r”.

El comando “sort” realiza la ordenación en base a una serie de parámetros que configuremos en los parámetros posteriores. En este caso, se añade “-n” que hace una compasión en base al valor numérico de la cadena, y en este caso, se añade un segundo parámetro, que es “-r” y permite mostrar la salida en orden inverso, o sea, de mayor a menor; esto hace que en caso de querer ordenar de menor a mayor simplemente sea necesario eliminar este “-r”.

NOTA: En caso de aprender más sobre “sort” se puede consultar la página de manual sort(1) – Linux manual page (man7.org)

Por último, se vuelve a hacer un “pipe” para pasar la salida a un comando adicional, que en este caso es un “less” y sirve para mostrar la salida en pantalla, permitiendo controlar lo que vemos cada vez. Aunque también lo podemos ejecutar con “more” si lo prefieres, aunque por manías mías siempre uso “less”.

# du -a | sort -n -r | more

Otra opción que se puede hacer es no mostrar por pantalla, sino reenviarlo a un archivo para poder revisarlo posteriormente:

# du -a | sort -n -r >> salidalistado.txt

Paso 1. Ejecución del listado ordenando por tamaño de mayor a menor mediante Script Linux
Paso 1. Ejecución del listado ordenando por tamaño de mayor a menor mediante Script Linux

La ejecución del comando nos mostrará por pantalla los distintos archivos localizados en la ruta donde se haya lanzado el “oneline”, mostrando, tal como hemos solicitado, los más grandes al principio de la lista y los más pequeños al final.

Paso 1. Primera ventana de la salida de la ejecución mediante Script Linux
Paso 1. Primera ventana de la salida de la ejecución mediante Script Linux

 

Script para mostrar archivos ordenados por tamaño en GNU/Linux:

El “oneline” a usar para ver los ficheros de un sistema de ficheros ordenados de mayor a menor es:

# du -a | sort -n -r | less

Con esto podemos dar por finalizado este pequeño script, aunque quizá sea muy ambicioso llamarlo así, ya que es un oneline.

 

Conclusiones:

Como puedes ver en el tutorial cómo mostrar archivos ordenados por tamaño en GNU/Linux, con un par de comandos bien vinculados se puede obtener una información muy útil que permitirá mantener el sistema a salvo de llenados de filesystem. Aun así, como es lógico, esto es un workaround para salir de un aprieto puntual, y se deberían aplicar cuotas de disco, monitorización de los filesystem, etc.

La ejecución es sencilla y debería estar soportada por todos los sistemas GNU/Linux, pero si encontraras algún problema en su ejecución puedes contactar con nosotros para que intentemos echarte una mano.

Asimismo, recuerda que tienes nuestros tutoriales disponibles para tu consulta en el blog de Jotelulu.

¡Gracias por leernos!

Categorías:Recursos Sysadmin

Otros posts que te pueden interesar

13 de noviembre de 2024
¡Tenemos nuevas distros en Servidores! En respuesta a las múltiples solicitudes de varios de nuestros partners, se ha habilitado
13 de noviembre de 2024
¡Ya es posible desplegar plantillas de diferentes softwares desde el asistente de despliegue de servidores! Estrenamos esta funcionalidad del
13 de noviembre de 2024
¡Integración con QNAP! Ya es posible crear copias sincronizadas entre dispositivos de almacenamiento local QNAP y nuestro servicio de

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.

Precios competitivos para la pyme y mucho más margen para el partner

Disaster Recovery ha sido diseñado, implementado y puesto en producción teniendo en cuenta dos premisas: Debe tener un precio atractivo para la pyme a la vez que deja un buen margen de beneficio a la empresa de IT que lo comercializa y gestiona.

DR_buen_precio_y_mas_margen

De esta manera, Disaster Recovery pretende ser un producto diferencial que permita incrementar la seguridad de todo tipo de empresas de manera asequible e implicando, además, rentabilidad para el distribuidor que lo comercializa.

Protege la infraestructura de tus clientes

Disaster Recovery permite replicar cualquier suscripción de infraestructura (Escritorio Remoto y Servidores) en otra zona de disponibilidad creando un entorno de alta disponibilidad y blindando así el servicio.

Replica en pocos pasos no sólo los discos sino todos los elementos que forman parte de cada suscripción:

  • Servidores: Instancias, discos, reglas de firewall, redes, IPs…
  • Escritorio Remoto: Usuarios, Aplicaciones, Licencias, Personalización…
DR_blinda_la_infraestructura

Tratamos de hacer fácil lo difícil

Las herramientas de Disaster Recovery existentes necesitan de conocimientos avanzados para poder ser gestionadas, implicando, muchas veces, un expertise difícil de alcanzar.

 

Disaster Recovery de Jotelulu busca hacer fácil lo difícil y plantea un despliegue muy sencillo basado en una configuración de tres pasos:

Origin (Primary Site)
Determina la ubicación de origen de la suscripción sobre la que se va a establecer el servicio de Disaster Recovery.

Destino (Recovery Site)
Establece la ubicación de destino (zona de disponibilidad) en la que quieres que se despliegue el Recovery Site.

Características de la réplica
Establece los datos asociados al número de copias que se quieren guardar y la frecuencia con la que se va a llevar a cabo la réplica.