¿Que es una shell? y algunos tipos

Estoy seguro de que todos los lectores han esuchado alguna vez la palabra shell, tal vez unos mas que otros, tal vez en alguna pelicula (Ghost in the shell) o en una marca de hidrocarburos, o por el contrario muchos de ustedes conozcan este termino y lo manejen diariamente, esta entrada es para todos aquellos que no saben lo que es una shell y  mucho menos han trabajado con ella, aunque se que son pocos, estoy seguro que mas de uno me lo agradecera.

Empecemos con la definicion que nos brinda la wiki:

Un intérprete de órdenes, intérprete de línea de órdenes, intérprete de comandos, terminal, consola, shell o su acrónimo en inglés CLI (por Command Line Interface) es un programa informático que actúa como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera órdenes escritas por el usuario en el teclado, los interpreta y los entrega al sistema operativo para su ejecución

Ahora mi definicion, yo diria que una shell, es un programa que  nos sirve de puente de comunicacion entre el usuario y el sistema operativo, es la forma en la que nos comunicamos con el sistema y le decimos las ordenes que nosotros deseemos. en esta interfaz no existen las imagenes o los menus bonitos (aunque hay menus muy bonitos  para cualquier geek). es solo texto y algunos colores. Una shell se caracteriza por que siempre esta a la espera de recibir instruciones, cuando recibe una orden, la ejecuta y vuelve a quedar a la espera de mas ordenes. En conclusion podemos decir que una shell es el traductor entre el nucleo y el sistema operativo.

Tipos de shell

En esta ocasion solo mencionare cada tipo de shell, y una definicion muy basica, no entrare en detalles ya que se haria muy extenso el articulo:

  • Bash: Esta shell, es la que usamos normalmente en sistemas GNU/Linux, su nombre se debe a que esta fue una derivacion de SH que fue una de las primeras  shell que nacieron.
  • SH: Esta shell venia por defecto en unix version 7, fue escrita por Stephen Bourne, sin embargo,  SH todavia es muy popular en sistemas unix
  • KSH: Una shell compatible con sh, incluso esta trae algunas implementaciones del interprete de comandos de C, tiene varias ventajas, soporta arreglos asociativos y aritmética de punto flotante integrada al igual que posee  funciones avanzadas para manejar archivos de comandos.

Como pueden ver hay mucha variedad en cuanto shell se refiere,existen muchos mas tipos de shell,  si desean aprender mas sobre este tema los invito a que  lean mucha informacion que hay en internet, ya que es un tema muy extenso, y con mucha variedad.

Por ultimo, si eres usuario de GNU/Linux y no sabes que shell usas, puedes averiguarlo digitando esto en consola:

echo $SHELL

Este valor se puede cambiar para tu usuario, si tienes privilegios de root, puedes cambiar la shell a cualquier usuario de tu sistema.

4 Comments