在很久以前,人们使用的电脑是可以通过一些按键直接控制比如寄存器等底层硬件设备的。这些按键所在的操作面板就是控制台(console)。
简单的说那时候没有操作系统帮助你控制输入输出,控制寄存器内存,所以全是手动操作。
后来为了不局限于距离(脑补的…),人们开始使用电缆去连接计算机,这时候电缆的开始端就是这台计算机,另一边当然就是终端(Terminal)。
但终端只是个概念。具体的应该怎么去替代控制台的功能呢?早期人们使用的是电传打字机(Teletypewriter: TTY),也就是你可能输入一行 ls
,就会通过打印机打出当前文件夹有哪些文件[捂脸]。
下边的维基百科的解释。
A teletypewriter (TTY; also called a teletype or teleprinter) is a device that sends a typed message to another place. A teletypewriter has a typewriter keyboard, a local printer (so the user can see what has been typed) and a transmitter. Messages can be sent over wires or radio waves.
当然随着科技发展,之后就有了显示器,但延续了TTY这个概念。所以可以简单理解为:终端就是TTY,也就是一个命令的执行环境。
终 端 ( t e r m i n a l ) = t t y = 文 本 输 入 输 出 环 境 。 终端(terminal)= tty = 文本输入输出环境。 终端(terminal)=tty=文本输入输出环境。
此外电缆输出的是电信号,如果最终转换为类似于控制台的命令呢?这就是shell干的事情,所以shell是软件层面的东西,他是一个解释器。
以上,个人理解,有不对的还请指正啊。