前言
我们知道一个进程的输入输出它是需要终端设备协助下才能去完成的,终端就是计算机外围设备,用来处理用户信息输入和结果输出,终端本身无计算能力,只是一个连接设备(如通过串口连接),后来将通过串口连接的各种设备都称为终端设备,比如串行端口终端:dev/ttySn,伪终端/dev/pty,虚拟终端/dev/tty,控制台/dev/console,对于控制台的概念如下图所示
演变
终端,控制台慢慢从硬件概念演化成软件概念,就是所谓的虚拟终端,使用软件来模拟以前的硬件终端设备,Linux系统中的6虚拟终端(tty1~tty6),使用ctrl+alt+F1-F6,当我们使用不同的虚拟终端时就将控制台映射到虚拟终端上,所以当前终端就会等于控制台,对于用户登录后动态创建的控制台设备文件称为伪终端
如上图所示,Ubuntu中的Terminal其实也是一个伪终端,为程序的输入输出提供帮助,回显,密码隐藏字符-为用户提供对进程的控制:Ctrl+C 结束前台进程,发送给shell进程–当用户通过SSH等软件登录主机,SSH的角