logo linux

¿Cuál es la diferencia entre terminal, shell, tty y consola?

Todos los que han usado alguna vez Linux y han tenido que realizar alguna gestión del sistema de cierta complejidad, han tenido que recurrir a la consola pero habitualmente ese espacio en el que se introducen comandos recibe distintos nombres. ¿Qué diferencia hay entre ellos?

Tal y como se comenta en esta pregunta planteada en StackExchange, existe una diferencia entre la denominación de este espacio y también de su función.

Uno de los usuarios ha dado una respuesta muy clara y concisa que dice lo siguiente:

· terminal = tty = entorno de entrada y salida de texto
· console = terminal física
· shell = intérprete de linea de comandos

Pero ¿qué significa todo esto? Desde el punto de vista histórico, explica el usuario, cuando en Unix se introducían los comandos por un lugar, el resultado salía por una impresora a la que se le llamaba tty (de teletypewriter o teleimpresora).

En la actualidad el término terminal y tty tienen el mismo significado en Linux y consiste en poner a disposición del usuario dispositivos de entrada y salida como teclado y pantalla para interactuar con el sistema. La consola se podría decir que es el terminal desde el punto de vista físico.

Por otra parte el shell es un intérprete de comandos, es decir que desde él, el usuario se puede comunicar con el terminal directamente y también puede emplear comandos propios del shell en cuestión para realizar ciertas operaciones. Probablemente el shell más popular para Linux sea Bash, con el que se pueden realizar programas usando instrucciones de Bash de cierta complejidad, con una estructura muy parecida a otros lenguajes de alto nivel.

2 comentarios en “¿Cuál es la diferencia entre terminal, shell, tty y consola?

Deja un comentario