What is the exact difference between a ' terminal ', a ' shell ', a ' tty ' and a ' console '?
A terminal is at the end of A electric wire
A shell is the home of a turtle
The TTY is a strange abbreviation
A console is a kind of cabinet.
Well, etymologically speaking, anyway.
In UNIX terminology, the short answer are that
- Terminal (terminal) = TTY = text Input/output environment
- Console (console) = physical Terminal
- Shell = Command line Interpreter
When we learn Linux by ourselves, we use the display + keyboard as the physical terminal. After Linux is turned on, it will be on the physical Terminal (monitor), virtual out of multiple terminals in software mode, CentOS is 6. CTRL+ALT+F1~6 switching
By default, Linux starts from virtual Terminal 1 and does not use physical terminals, even on physical terminals. The physical terminal is only useful when the Linux is not running at the moment it is powered up. Once the program starts, it is taken over by virtual Terminal 1.
Physical Terminal: Direct access to the local display and keyboard devices
Virtual Terminal: A virtual terminal that is attached to the physical terminal and implemented by software, and CentOS launches 6 virtual terminals by default. CTRL+ALT+F1~6 switching
Device file path:/dev/tty#
Graphics Terminal: A virtual terminal that is attached to a physical terminal in a software-based way, but provides additional desktop environments where the terminal is called an analog terminal
Analog Terminal: a command-line window opened under the graphical interface. Terminals, such as the SSH protocol or Telnet protocol, are also known as analog terminals, such as the use of a Xshell-connected environment
Device file path:/dev/pts/# [0~ Infinity]
View current terminal commands: TTY
The terminal is used to interact, after starting the terminal, on the end device will attach an interactive application, interactive application in 2 kinds. GUI and CLI
Gui:gnome, KDE and so on.
Cli:shell program. such as SH, csh, ksh, Bash, zsh, and so on.
What Shell are you looking at for my current user?
[Email protected]:~# echo $SHELL/bin/bash
View currently supported shell types for Linux
[Email protected]:~# cat/etc/shells #/etc/shells:valid Login Shells/bin/sh/bin/dash/bin/bash/bin/rbash
Terminal, shell, TTY, console What's the difference?