什么是终端
一般来说终端是指用于输入输出的物理设备
计算机 = 主机 + 终端
终端 = 输入终端 + 输出终端
简单解释他们之间的联系
电传打字机(TTY)是物理设备,最初是为电报设计的,后来被连接到计算机上,发送输入和获取输出。
电传打字机(TTY)现在被运行在内核中的模块所模拟,被称为终端模拟器(terminal emulator)。
伪终端(pseudo terminal, PTY) 是运行在用户区的终端模拟程序。
Shell
由terminal
fork 出来,是terminal
的子进程。Shell
不处理键盘事件,也不负责字符的显示,这些是由terminal
处理。Shell
负责解释执行用户输入的字符。可以使用
stty
命令对 TTY 设备进行配置。远程终端
ssh
也是一种伪终端 PTY。
在Linux操作系统中的体现
Linux中的终端模拟器也被称作虚拟终端
Linux中可以使用快捷键
Ctrl+Alt+Fn
在虚拟终端之间切换,桌面模式一般会占用一个/dev/ttyn
,但不同的发行版可能不尽相同,仅作为参考Linux桌面模式下运行的
terminal
就是伪终端,很多发行版用的都是gnome-terminal
使用
tty
命令可以查看当前终端使用的设备文件,虚拟终端一般是/dev/ttyn
,伪终端一般是/dev/pts/n
Linux中使用的shell一般是bash
参考来源:
https://xie.infoq.cn/article/a6153354865c225bdce5bd55e
https://www.cnblogs.com/jfzhu/p/13040942.html