User
└── terminal
└── virtual-terminal (tmux, screen, etc)
└── console
├── console is always closest to the shell
└── shell
└── kernel
└── hardware
wrapped around the hardware and kernel is the shell which exposes operating system functions, the user connects to a shell using a remote terminal or local console and starts working using the command line interface.
- consoles are/were attached directly to mainframes
- terminals are like “thin clients” that connects to the mainframe over a network
The proximity to the server makes the difference to the "lingo",
Consoles are still in the same sense, the monitor + keyboard which you sit closest to or directly connected to your “mainframe/server/pc " while the terminal might be a client like your portable laptop that you use to ssh into your servers.
kernel.org says this
Create /dev/console (real console) and /dev/tty0 (master virtual console):
Anything can become “the real” console by messing around in /dev/console. I guess its safe to assume that this is what the console means today, the main “interface” that is directly connected to the shell. There also exists virtual consoles like tty0.
Virtual consoles and terminals seem to be basically the same thing. Its possible to see how many users are connected to shell by typing the command “w”