1, terminal (termimal) = TTY (teletypewriter, fax printer), the role is to provide a command of the input and output environment, under Linux using a combination of keys ctrl+alt+t Open is the terminal, you can think terminal and TTY is synonymous;
2, Shell is a command line interpreter, when you open a terminal, the operating system will be terminal and Shell Association, when we enter the command in terminal, the shell is responsible for interpreting and executing the command;
3, in the early days of computer development, the appearance of the computer usually there is a panel, the panel contains a lot of buttons and indicators, you can use the panel to the bottom of the management of the computer, but also through the light to know the state of the computer's operation, this panel is called the console. On modern computers, when the computer is on (such as Ubuntu) screen will print some log information, but before the system starts to complete, terminal can not connect to the host, so in order to record the main log of the host, such as switch machine log, the log of important applications, A device called console is in the system, and the log information is displayed on the console. A computer has only one console, but can have multiple terminal. For example, a certain area of the TV on the general will have some buttons, such as power-on, volume, and so on, this area can be used as the console, and this area on the television only one, remote control can be analogous to terminal, terminal can have multiple.
4, Linux system can contain many different shell, more common have Bourne shell (SH), C Shell (csh) and Korn Shell (ksh), three kinds of shell have their advantages and disadvantages. The author of the Bourne Shell is Steven Bourne, which is the first shell used by UNIX and is available on every UNIX type. The entire bash is called the Bourne Again Shell, and the name shows that bash is an extension of the Bourne shell, and bash is completely backwards compatible with the Bourne shell, and adds and enhances many features on the Bourne shell basis. Features such as command completion, command editing, and command history tables include many of the advantages of the C shell and Korn shell, flexible and powerful programming interfaces, and a friendly user interface. In summary, bash is a shell, an enhanced shell.
Reference:
1, https://www.zhihu.com/question/21711307
2, 4069929
3, https://www.zhihu.com/question/20388511
Differences and connections between the terminal (terminal), Shell, TTY, console, bash