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

Introducción y Repaso
Lo básico
Sentencias de Control y Repetición
Funciones y Otros
Scripts para Admin

Contenidos de las Clases

1
2
3
4
5

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