
What's the difference between a console, a terminal, and a shell? - soheilpro
https://www.hanselman.com/blog/WhatsTheDifferenceBetweenAConsoleATerminalAndAShell.aspx
======
dredmorbius
The distinction I've been given to understand between _console_ and _terminal_
is that the computer console is the terminal most directly attached to the
computer -- its principle input and output device or display.

On Linux, a _terminal_ is _any_ virtual or physical connected device, but the
_console_ is the text-based login session, generally running on any of the
first six _virtual consoles_ of the system, where the GUI (X11, now
increasingly Wayland) runs typically on the 7th.

(These are not hard-and-fast assignments, but are typical, and can be changed
through inittab, getty, and/or systemd assignments.)

There are also _serial consoles_ which can run over real or emulated serial
ports, including serial-over-ethernet or various remote management (ILOM,
DRAC) interfaces.

A chief _typical_ distinction between _real_ and _virtual_ consoles is that
virtual consoles can have any arbitrary geometry whilst the real console
typically has a fixed geometry, often set by the serial emulator (minicom, or
x/z/ymodem protocols) used. A serial console also typically connects at 9600
baud, though higher line protocols, to 56kbaud are often supported.

Exceptions to usage may exist, but these are, again, typical.

