Latinoamérica
de.novatoanovato@gmail.com

Diferencias entre terminal, consola y shell

Dedicado al nuevo usuario de software libre

Diferencias entre terminal, consola y shell

Diferencias entre terminal, consola y shell

Es muy común para quienes iniciamos en GNU/linux dar nuestro primeros pasos asumiendo que terminal, consola y shell son sinónimos y que hacen referencia a un mismo elemento. En muchos casos esta idea queda prácticamente como un hecho.

Consola y terminal

Consola y terminal están estrechamente relacionados desde sus inicios, hasta podría decirse que son sinónimos. Originalmente solían ser partes del equipamiento mediante el cual se interactuaba con una computadora. En nuestros tiempo podemos definirlos por separado con mas distinción. Pero primero, entendamos este pasado.

¿Que es un mainframe?

Es inevitable caer en la mención de las unidades mainframe para explicar las consolas y los terminales en sus inicios. Para ponernos en contexto definamos a un mainframe como una unidad central, siendo esta una computadora que es usada principalmente para el procesamiento de una gran cantidad de datos.

Teniendo esto en mente y volviendo algunas décadas atrás, para ponernos en contexto, proseguimos.

¿Qué es una consola?

Hoy en día, las consolas pueden ser completamente en software, pero no siempre fue el caso. Las consolas van de la mano con las terminales. Con respecto a un mainframe, una consola era a la vez el puerto, la conexión digital y una terminal física conectada directamente a una unidad central. De momento, solo quedate con esta definición.

¿Qué es una terminal?

Originalmente se refieren a un equipo a través del cuál se puede interactuar con una computadora. Para entender de donde proviene, volvamos unos años atrás…

El termino terminal

En los primeros días del sistema operativo Unix, se utilizaba un dispositivo estilo “teleimpresor” que se parecía a una máquina de escribir y a veces llamada teletipo o tty (Probablemente su abreviatura te resulte familiar) en taquigrafía. El nombre “terminal” vino desde el punto de vista electrónico.

En la terminología de Unix, un tty es un tipo particular de archivo de dispositivo que implementa una cantidad de comandos proporcionados por el hardware de nuestro equipo. Por ejemplo, con la entrada que proviene del teclado y la salida que va a una pantalla en modo texto o con una entrada/salida que se transmiten a través de una linea.

Terminales de texto

Un terminal de texto, o a menudo solo terminal, es un terminal con una interfaz serial para comunicarse con un computador, un teclado para entrada de datos y una pantalla para exhibición de únicamente caracteres alfanuméricos (sin gráficos). La información es presentada como un arreglo de caracteres preseleccionados. Cuando tales dispositivos usan una pantalla de video son llamados «unidad de presentación visual» (UDV) o «terminal de exhibición video» (VDT). Originalmente, los terminales del texto eran terminales de computadora electrónicas, conectados con los computadores por un puerto serial.

Emuladores de terminal

Los sistemas de computo en la actualidad tienen terminales de sistema incorporadas, pero también ocupan programas emuladores de terminales que trabajan en un ambiente de escritorio gráfico. Son identificados como TTYs, y se proporcionan (a través de una delgada capa de kernel). Entre los mas conocidos tenemos a: xterm, termite, gnome-terminal, konsole, terminator, tilix, etc. Ejecutándose dentro de un entorno gráfico.

¿Qué es una Shell?

La shell es la interfaz de línea de comandos con la que interactúas. Los ejemplos de Shell son BASH, CSH, ZSH, etc. Estas toman comandos escritos a mano y le dice al sistema operativo que debe ejecutarlos, o puede tomar secuencias de comandos e interpretar la lógica dentro de ellos, además da instrucciones al sistema operativo para ejecutar los comandos contenidos en el script, etc.

Consola, terminal y shell en la actualidad

Teminal

Un terminal se refiere a un programa contenedor que ejecuta un shell. Hace décadas, este era un dispositivo físico que consistía en poco más que un monitor y un teclado. Como los sistemas Unix y del tipo Unix, como GNU/Linux, agregaron mejores sistemas de multiprocesamiento y ventanas, este concepto de terminal se resumió en software. Ahora son conocidos como emuladores de terminal que inicia una ventana en un entorno donde se ejecutará un shell en el que puede ingresar comandos.

Para saber que terminal estamos usando ejecutamos la linea:

echo $TERM

Consola

La consola es un tipo especial de terminal . Históricamente, la consola era un solo teclado y monitor conectado a un puerto de consola serie dedicado en una computadora utilizada para la comunicación directa a un nivel bajo con el sistema operativo. Los sistemas GNU/Linux modernos ofrecen consolas virtuales. Se accede a ellos mediante combinaciones de teclas (por ejemplo, Ctrl+ Alt+ Fx; la tecla de función numera diferentes consolas) que se manejan en niveles bajos del sistema operativo; esto significa que no hay un servicio especial que deba instalarse y configurarse para ejecutarse. La interacción con la consola también se realiza mediante un programa de shell.

Un dato curiosos es que para enumerar las consolas se utiliza TTYx (por ejemplo: TTY1, TTY2, etc), siendo estas las siglas de abreviatura de los terminales teletipos.

Para saber que consola estamos usando, ejecutamos la linea:

tty

Shell

El shell es el programa que realmente procesa comandos y devuelve resultados. La mayoría de los shells también gestionan procesos en primer plano y en segundo plano, historial de comandos y edición de línea de comandos. Estas características (y muchas más) son estándar en bash, el shell más común en los sistemas GNU/Linux modernos. Aunque existen distintos tipos de shells.

Para saber el tipo de shell que estamos ocupando, ejecutamos la linea:

echo $SHELL

Las fuentes de los datos históricos utilizados, se extrajeron de wikipedia.

Espero sea de utilidad
Saludos, Cristian.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada.

4 × tres =