Capítulo 2. Shell Scripts UTM – IEC. M.C. Gabriel Gerónimo Castillo 2. Shell Scripts La administración de red es una ardua, pero hermosa tarea; como administrador se debe conocer y tener a la mano un conjunto de herramientas o utilerías para prevenir, evitar y corregir problemas en la red. El administrador debe conocer, controlar y planificar los procesos del sistema, conocer los archivos donde se almacenan información de los usuarios, compartir archivos, controlar recursos, conocer e instalar herramientas de monitoreo, conocer e instalar herramientas para realizar encriptación, controlar el acceso al sistema, y muchas otras actividades extras; como se puede notar la labor de un administrador es una tarea titánica, y es mejor y más recomendado que estas tareas recaigan en un grupo de personas y no en una sola. Para empezar este capítulo, hablaremos primero del shell del sistema, en que consiste y algunos comandos que consideramos importantes, en la siguiente sección, tocaremos el punto de su programación, y en la última sección hablaremos de la programación con el lenguaje AWK. 2.1 Introducción al shell Cuando observamos una pantalla en la cual se esta ejecutando el sistema UNIX, lo que en verdad vemos es un programa en ejecución, el cual esta monitoreando y respondiendo a las ordenes que damos desde teclado. Este programa es llamado el shell del sistema. Como el shell responde a un comando dado por el usuario (usuario ordinario o administrador) podemos editar (en vi, pico, emacs o algún otro editor de texto) un conjunto de comandos para automatizar alguna tarea, este programa fuente se le conoce como un script. Muchos sistemas UNIX, incluyendo AT&T’s System V (SV), XENIX, Berkeley Software Distribution (BSD), Ultrix, Linux, y SunOS, son distribuciones que cuentan por lo menos con 200 programas, comúnmente llamados comandos o utilerías. Para combinar dos o más utilerías los usuarios de UNIX pueden crear sus propios programas de comandos. El shell de UNIX proporciona un simple pero muy poderoso mecanismo para construir herramientas que los programados o no programadores pueden utilizar para automatizar tareas, la programación de script cuenta además con un conjunto de constructores como loops, condicionales y variables. 2.1.1 El ambiente del sistema UNIX Antes de empezar a hablar de la programación del shell, veamos en que consiste el sistema operativo UNIX. El sistema operativo UNIX consiste de un kernel, un shell y cientos de comandos o utilerías. El kernel es la parte que interactúa directamente con el hardware, este administra la memoria, controla los dispositivos de entrada y salida, y proporciona una serie de servicios a través del shell. El shell interactúa con el kernel de modo transparente para el usuario. Así la combinación del kernel, el shell, los comandos y el hardware es lo que forma al sistema UNIX. UNIX proporciona un ambiente de trabajo que consiste de dos grandes subsistemas: El sistema de archivos, el cual es una definición física, conceptual y organizacional de los archivos en el sistema, y