How-to: What is the difference between a Terminal, a Shell and a Console.

The hardware and software that allows you to enter commands and receive output from a computer system, using a text-based interface.

A diagram of an old computer is helpful in understanding the differences between a 'terminal', a 'shell', and a 'console'

There is some overlap in these terms:

A Console generally refers to an i/o device directly connected to the main computer, in early computers this may refer to the knobs and switches on the main panel. In early computers the entire console would be on a vertical panel, later machines would use these only for setting boot sequences with a separate console having a full keyboard. In modern machines, the console will be a VDU/keyboard, or a virtual device.

A console is usually the primary interface for system administration and maintenance. A console gives access to the low-level functions and settings of the computer system, such as the BIOS and the boot loader (single user mode).

The Terminal is at the end of an electric wire and may be connected to a local or a remote system, remote connections may involve a pair of modems to extend the range. A terminal can be a physical device, such as a keyboard and a monitor, or a Terminal Emulator software application.
Early terminals were often a TeleTypewriter device, abbreviated to “TTY” which prints commands directly to paper, later terminals would have a VDU/keyboard much like the console.

A terminal can run multiple programs and sessions, while a console can only run one program and session at a time.

The Shell is a command line interpreter which provides an interface to the OS kernel which in turn commmunicates with the physical hardware disk and RAM. The shell can be run within a terminal session or directly on the console. Many machines have a choice of several different shells which can be used (csh, bash, zsh etc).

Related Linux commands

screen - Multiplex terminal, run remote shells via ssh.
stty - Change and print terminal line settings.
tmux - A terminal multiplexer much like screen, create and access multiple terminals from a single screen.
tset - Select your terminal type.
AskUbuntu - What is the difference between Terminal, Console, Shell, and Command Line?
unix.stackexchange - The exact difference between a 'terminal', a 'shell', a 'tty' and a 'console'?
Windows Terminal - A multi-tabbed terminal emulator – replacement for Windows Console (Wiki).


 
Copyright © 1999-2024 SS64.com
Some rights reserved