¿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.
como bien dijiste, hay muchos más tipos de shell, yo destacaría una más que se ve por ahí de vez en cuando:
rshell, es una versión con bastantes restricciones, no puedes usar el comando cd para cambiar de ruta, no puedes alterar el valor de la variable $PATH, no puedes usar comandos que contengan ‘/’, no puedes redirigir las salidas, etc…
un saludo!
Gracias por la anotacion!!
ahora si estoy seguro la terminologia shell ademas q tambien asi como existen varios tipos cada vez sigue apareciendo mas siendo creado los comandos por nosotros ……..grss
debeian de haber ejemplos de shell en visual java etc