控制台(Console)、终端(Terminal)和Shell的区别是什么
简单来说,在Unix系统中答案如下:
Well, etymologically speaking, anyway.
In unix terminology, the short answer is that:
- terminal = tty = text input/output environment;
- console = physical terminal;
- shell = command line interpreter.
详细展开来说,这三者的区别如下所示:
控制台(Console)
在早期的电脑上,往往具有带有大量开关和指示灯的面板,可以对电脑进行一些底层的操作,这个面板就叫做Console。其概念来自于管风琴的控制台。
一台电脑通常只能有一个Console,很多时候是电脑主机的一部分,和CPU共享一个机柜。
终端(Terminal)
一台大型主机往往需要支持许多用户同时使用,每个用户所使用操作的设备,就叫做终端(Terminal)。终端使用通信电缆与电脑主机连接,甚至可以通过电信网络(电话、电报线路等等)连接另一个城市的电脑。
Shell
Shell不是硬件,而是软件,是操作系统的操作界面。Windows 3.x可以看做是DOS的Shell。
Shell = Interpreter that executes commands typed as string.