Ejercicios con Bash#

Este es un conjunto de scripts sencillos que deberías poder hacer usando Bash

Lo primero, repasa el uso de la terminal y los comandos (100 ejercicios Linux)

Scripts Muy básicos#

  1. Mostrar en pantalla la cadena Hola Mundo

  2. Mostrar en pantalla Hola soy el usuario tal y estoy en el sistema tal

  3. Mostrar el número de usuarios del sistema y el número de procesos

  4. Muestra el nombre del usuario que se pasa como argumento

  5. Que muestre los usuarios conectados y las últimas cinco líneas del registro de incidencias (archivo /var/log/messages u otro similar)

Repetición y control de flujo#

  1. Cambia el nombre a los archivos terminados en txt y le añades: .texto. Es decir, el archivo file.txt se convierte en file.txt.texto, y así para todos los archivos

  2. Pides un número desde la consola y vas escribiendo números de forma decreciente hasta llegar a 1.

  3. Muestra los archivos de un directorio cualquiera, pero añadiendo el número y el usuario. Por ejemplo para archivo.txt, mostraría «1. El archivo ejemplo.txt es del usuario pepe»

  4. Pasándole dos argumentos, que sean números, al script, que diga si el primero es menor que el segundo

  5. Crear una librería Bash (funciones.lib) con alguno de los scripts anteriores, y usarla en un script cualquiera

Revisar y entender Ejemplos reales#

Revisa estos ejemplos, a ver si puedes entender qué hacen:

Scripts más avanzados#

  1. Crea un script que busque un patrón concreto en todos los archivos y subdirectorios de uno que se pasa por argumento. Es decir, que puedas buscar «pepe» en los archivos del directorio (y subdirectorios)

  2. Crea una librería de funciones (monitorear_sistema.lib) para revisar el uso de CPU, el uso de Memoria y el uso de los sistemas de ficheros.

  3. Realizar un análisis del número y tipo de documentos en el árbol de directorios especificado como argumento. Además se pasarán por argumentos las extensiones que queramos analizar. Por ejemplo: analizar_directorios.sh /home/cesareo/www jpg gif html txt me hará un informe del directorio /home/cesareo/www y todos sus subdirectorios y me hará un informe según el tipo de archivos (cuantos son y su propietario, por ejemplo). Además este informe lo enviará por correo electrónico (comando mail) a un usuario determinado (en una variable)

  4. Crear una tarea periódica para que cada 10 minutos, envío por email a un usuario determinado un informe del sistema en ese momento (procesos, memoria, almacenamiento, usuarios, etc) y lo envíe por mail a un usuario determinado.

  5. Crea un programa que simule una agenda telefónica en un archivo de texto que le pasas por argumento. Te permitirá añadir registros, buscar, borrar. Y un extra (no tan sencillo) es que puedas editar un registro telefónico.