Shells del sistema operativo

La interfaz con el sistema operativo se denomina shell.

El shell es la capa más externa del sistema operativo. Los shells incorporan un lenguaje de programación para controlar procesos y archivos, además de iniciar y controlar otros programas. El shell gestiona la interacción entre el usuario y el sistema operativo solicitándole la entrada, interpretando dicha entrada para el sistema operativo y gestionando cualquier resultado de salida procedente del sistema operativo.

Los shells ofrecen un método para comunicarse con el sistema operativo. Esta comunicación tiene lugar de forma interactiva (la entrada desde el teclado se ejecuta inmediatamente) o como un script de shell. Un script de shell es una secuencia de mandatos del shell y del sistema operativo que se almacena en un archivo.

Cuando se inicie la sesión en el sistema, éste localizará el nombre de un programa de shell a ejecutar. Después de ejecutarse, el shell visualiza un indicador de mandatos. Este indicador suele ser un $ (signo de dólar). Cuando escriba un mandato en el indicador y pulse la tecla Intro, el shell evaluará el mandato e intentará ejecutarlo. Según las instrucciones del mandato, el shell grabará la salida del mandato en la pantalla o lo dirigirá a la salida. A continuación, restaura el indicador de mandatos para que escriba otro mandato.

Una línea de mandatos es la línea en la que escribe. Contiene el indicador del shell. El formato básico de cada línea es el siguiente:

$ Mandato Argumento(s)

El shell considera que la primera palabra de un línea de mandatos (hasta el primer espacio en blanco) es el primer mandato y que todas las palabras posteriores son argumentos.

Nota: Cuando se mueve o cambia el nombre de libc.a, se visualiza el error Matado desde el shell porque no hay ningún archivo libc.a disponible para que el sistema cargue y ejecute los programas de utilidad. El mandato recsh, invoca el shell de recuperación, que proporciona la posibilidad de cambiar el nombre a libc.a si se mueve accidentalmente.