Terminal, shell, TTY, consola: ¿son lo mismo?
A pesar de que estos términos se mezclan con frecuencia y se utilizan indistintamente, no es así, terminal, consola, TTY y shell no son lo mismo. Hay distinciones significativas entre cada uno de estos componentes. En este artículo, aclaramos los significados de estos términos según se aplican a los sistemas operativos UNIX/Linux…
Las diferencias son las siguientes:
- Terminal: es un entorno que acepta entrada de texto y muestra una salida cuando se ejecuta algún comando. En otras palabras, sería un entorno que permite correr un shell y ejecutar órdenes de línea de comandos. Por poner algunos ejemplos, algunos terminales conocidos son Terminator, Tmux, Xterm, etc.
- Consola: es un terminal físico o dispositivo, una computadora de control con la que puedes interaccionar con el sistema y tener acceso al terminal. Sin embargo, actualmente se usa en otro contexto. Pero realmente es un equipo que consiste en un ratón, un teclado y una pantalla.
- Shell: es un intérprete de línea de comandos, un entorno que permite que los programas corran y poder ejecutar scripts para mostrar los resultados en la salida del terminal. Algunos ejemplos de shell pueden ser ksh, bash, zsh, PowerShell, etc. Si quieres ver el shell que estás usando en tu entorno, puedes ejecutar el comando which $SHELL y te aparecerá el nombre en la salida.
- TTY (Teletypewriter): es el acrónimo de teletipo, un equipo obsoleto de tipo electromecánico que se usaba antiguamente. En sistemas operativos Linux y Unix se usa para referirse al terminal estándar del sistema y aparecen numeradas. Para ver información al respecto, puedes usar el comando w.
- PTS (Pseudo Terminal Slave): es un término menos conocido, pero también usado. Se refiere a una sesión usada cuando se conecta a un sistema Linux vía el protocolo SSH o usando algún cliente SSH como Putty. En este caso, también puedes usar el comando w para ver información.