Terminal, Shell, TTY, and Console
- A terminal is a text input/output environment. Historically, it was a physical device (keyboard + display). Today, it refers to software emulators (e.g., GNOME Terminal, Windows Terminal) that let users interact with a shell.
- A shell is a command-line interpreter. It takes user input, parses it, and executes commands. Examples:
bash
,zsh
,fish
,sh
. - TTY was originally a hardware, now a virtual device in Unix-like systems representing a terminal session. Each
tty
(e.g.,/dev/tty1
,/dev/pts/0
) maps to a physical or virtual text interface. - Console is a main physical or virtual terminal directly connected to the system. On Linux,
/dev/console
refers to the system console, often used for kernel messages and emergency access.