sábado, septiembre 22, 2007

Parte I - El Shell de Linux

El Shell es un programa especial utilizado como una interfaz entre el usuario y el núcleo del Sistema Operativo (Kernel). A grandes rasgos, el Kernel es un programa que se carga en memoria al momento en el que el PC se inicia, y se encarga de administrar el sistema hasta que apagamos el computador; es decir, crea y controla procesos, gestiona la memoria, el sistema de archivos y mucho más.

Volviendo al Shell, lo podemos definir como un Programa Utilitario que se inicia cuando accedemos a nuestra sesión en el sistema operativo. Este, le permite al usuario interactuar con el Kernel a través de la interpretación de los comandos que el usuario ingresa en la línea de comandos ó a través de los "scripts" (archivos que ejecutan un conjunto de comandos).

Después de que tipeamos un comando, la responsabilidad del Shell es:
  1. Analizar la línea de Comandos
  2. Manejar los comodines, las redirecciones, tuberías y planificar el control de ejecución de los comandos.
  3. Buscar el comando, si lo encuentra, ejecutar el comando, en caso contrario emitir un error.
En muchas ocasiones, para realizar una tarea tenemos que digitar un conjunto de comandos. Si esta tarea la realizamos en reiteradas ocasiones lo más probable será querer automatizarla. Para hacer esto posible, hacemos uso de los "Shell Scripts", que no son otra cosa que archivos ejecutables que contienen una secuencia de comandos. Los "Shell Scripts" oscilan entre archivos que ejecutan un conjunto de comandos (como los "batch files"), pudiendo llegar a ejecutar programas para toma de decisiones, comprobación de archivos y mucho más. No basta con tener conocimientos de programación para desarrollar "Shell Scripts", también es necesario contar con un basto entendimiento de los utilitarios y herramientas de linux, y como estos trabajan. Algunas utilidades como grep, sed y gawk se convierten en herramientas muy poderosas cuando se utilizan en los "Shell Scripts" para gestionar la salida de comandos y archivos. Para concluir este post, podemos decir que cuando ejecutamos comandos desde un "Shell Script", estamos utilizando el Shell como un lenguaje de programación.

Artículos Relacionados:

Parte II - Shells disponibles en Linux

No hay comentarios.: