El lenguaje interpretado Bash

cesareox » Docencia » DFSI » El lenguaje interpretado Bash


El interprete Bash es algo más que una simple consola. Es un lenguaje interpretado de programación que ayuda al administrador a realizar la mayor parte de las tareas necesarias, tanto en la automatización como en el arranque del sistema. Se utiliza especialmente (no exclusivamente) en sistemas Unix.

Objetivos

Clases

Actividades

  1. Repaso Consola e Introducción
    • Introducción y Repaso
      1. Uso del manual en línea (páginas man e info)
      2. 100 ejercicios linux
      3. Uso de grep: buscar texto, expresión regular, contar líneas
    • Scripts Básicos (I)
      1. ejercicio1.sh. Que muestre en pantalla la cadena Hola
      2. ejercicio2.sh. Qué muestre Hola soy el usuario tal y estoy en el sistema tal
    • Scripts Básicos (II)
      1. ejercicio3.sh. Que muestre el número de usuarios del sistema y el número de procesos
      2. ejercicio4.sh. Que muestree el nombre del usuario que se pasa como argumento
      3. ejercicio5.sh. Que muestre los usuarios conectados y las últimas cinco líneas del registro de incidencias (archivo /var/log/messages u otro similar)
  2. Repetición y control de flujo
    • Scripts Básicos (III)
      1. ejercicio6.sh. Que cambie el nombre a los archivos de texto (termnados en txt) y le añada: .texto. Por ejemplo, el archivo file.txt se convierte en file.txt.texto. Ojo, hacedlo en un directorio de prueba.
      2. ejercicio7.sh. Que tome un número desde la consola y vaya escribiendo números de forma decreciente hasta llegar a 1.
      3. ejercicio8.sh. Que muestre los archivos de un directorio cualquiera, que indique el usuario, poniendo un número antes. Por ejemplo: El archivo número tal es el tal. Después añadirle una cadena que diga si son más de 20 archivos o menos.
      4. ejercicio9.sh. Que pruebe al menos 4 comparaciones del comando test
  3. Uso de Librerías y Ejemplos reales
    • Aprender a manejar librerías
      • Realizar las funcionalidades de los scripts anteriores con funciones y cargarla desde el script (funciones.lib)
      • Intercambiar esta librería entre alumnos y grupos y tendrá que funcionar
    • Entender Scripts
  4. Repaso y Scripts Avanzados
    • Scripts de Utilidad para administrar el sistema
      • ejercicio10.sh Realizar 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.
      • ejercicio11.sh Controlar los errores debido a falta de privilegios y dar los mensajes correspondientes al usuario. Por ejemplo, mostrar usuarios del sistema a los que se pueda acceder a su HOME y mostrar usuarios que tengan archivos mp3 o avi en su HOME.
      • analizar_directorios.sh. Este script servirá para 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, en qué proporcion o lo que veáis oportuno). Además este informe lo enviará por correo electrónico (comando mail) a un usuario determinado (en una variable)
      • analizar_sistema.sh. Es un script un poco más elaborado que el ejercicio10 y que haga un informe del sistema en ese momento (procesos, memoria, almacenamiento, usuarios, etc) y lo envíe por mail a un usuario determinado.
  5. Realizar un programa que simule una agenda telefónica
    • Gestionar una libreta de direcciones (Agenda)
    • Funcionalidad: Añadir Registros, Buscar Registros y Borrar Registros
    • Extra: Editar/modificar Registros

Tiempo Estimado

Unas 30 horas, equivalentes a un crédito ECTS

Recursos a Utilizar

Enviar un comentario


Cesareo