终端
介绍
在Linux/Unix系统中,用户总是通过终端登录系统后得到一个shell进程,进而在shell命令行上输入命令与系统进行交互。说白了,终端就是系统与用户进行“交流”的窗口,而所有在这个终端下创建的进程都“属于”这个终端。这个终端也就是这些进程的控制终端。
(控制终端是保存在PCB信息中的,而fork子进程会复制PCB中的信息。所以shell创建的所有进程的控制终端都是这个终端。)
我们在图形化界面下使用Linux,打开一个叫Terminal的窗口才能进行操作,Terminal就是终端的意思,打开一个会话窗口就是打开一个终端。
默认情况下,每个进程的标准输入,标准输出,标准错误输出都指向控制终端。所以进程从标准输入就是读用户的键盘输入,进程的标准输出或者标准错误输出就是输出到显示器上。
设备
无论怎么学Linux,都要注意,Linux下一切皆文件。终端也是一种文件,我们通常管它叫做设备文件。这个设备文件通常在/dev目录下,名字为“tty+编号”。