Linux Shell学习笔记2-终端、shell与控制台

Linux Shell学习笔记2-终端、shell与控制台

1 什么是终端

大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。每个操作者会有一个这样专门的设备:它只有显示器和键盘,还有简单的处理电路,本身不具有处理计算机信息的能力。这个专门的设备,通常是通过串口连接到的计算机上 ,然后登陆计算机,并对该计算机进行操作。当然,那时候的计算机操作系统都是多任务多用户的操作系统。这样一台只有显示器和键盘能够通过串口连接到计算机 的设备就叫做终端。

可以这样说,早期的终端其实就是硬件的概念,是对主机进行操作的硬件设备

Linux Shell学习笔记2-终端、shell与控制台

ubuntu 18的终端程序

现在由于计算机硬件越来越便宜,通常都是一个人独占一台计算机超做,不再连接以前那种真正意义上的“终端设备了”,因此,终端的概念也慢慢演化成了软件的意义是的工具程序。如上图所示,这个界面就是ubuntu18的终端程序。

历史已经作古,我们现在再谈终端,一般都是软件的概念,不再是硬件的概念。就像上图所示的ubuntu18提供的“终端”工具软件。

Linux Shell学习笔记2-终端、shell与控制台

终端的交互式功能

终端提供交互式功能。借助终端,用户可以通过它与shell环境进行交互。交互是啥,其实就是用户可以用终端把命令送入shell,然后接收shell的运行结果。

linux下面还有很多功能差不多的终端工具软件,比如:Konsole,Terminator,TermKit,Rxvt,terminology等等。

用“sudo apt-get install terminology”安装terminology。

用“sudo apt-get install konsole”安装konsole。

Linux Shell学习笔记2-终端、shell与控制台

Konsole终端工具软件

Linux Shell学习笔记2-终端、shell与控制台

terminology终端工具软件

这些终端工具软件的功能大同小异,其实用ubuntu18自带的已经够了,一般情况下,真的没有必要再安装第二种。

2 SHELL

shell是一个抽象概念,shell的一切操作都在计算机内部,负责处理人机交互,执行脚本等,是操作系统能正常运行的重要组成部分。bash,dash,rbash等是shell这个抽象概念的一种具体的实现,都是一个程序,都能生成一个进程对象。

有关shell的概念请参考《Linux Shell学习笔记1-Shell简介》。

3 控制台console

Linux Shell学习笔记2-终端、shell与控制台

控制台是什么? 学机电的人应该知道,一台机床,或者数控设备的控制箱,通常会被称为控制台,顾名思义,控制台就是一个直接控制设备的台面(一个面板,上面有很多控制按 钮)。 在计算机里,把那套直接连接在电脑上的键盘和显示器就叫做控制台。请注意它和终端的区别,终端是通过串口连接上的,不是计算机本身就有的设备,而控制台是 计算机本身就有的设备,一个计算机只有一个控制台。计算机启动的时候,所有的信息都会显示到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基 本设备,而终端是附加设备。 当然,由于控制台也有终端一样的功能,但控制台的功能远比终端强。计算机操作系统中,与终端不相关的信息,比如内核消息,后台服务消息,都可以显示到控制台上,但不会显示到终端上。

以上是控制台和终端的历史遗留区别。

还是那句话,现在由于计算机硬件越来越便宜,通常都是一个人独占一台计算机,因此没有了原来意义上的硬件控制台了,都是软件概念上的了。

如果非要区分终端与控制台话,能直接显示系统消息的那个终端称为控制台,其他的则称为终端。但是在linux系统中,这个概念也已经模糊化了,而且都是软件的虚拟的概念了,没有必要加以区分。但是在其他的UNIX类系统中,却很明显的有虚拟终端和控制台的区别。比如 freeBSD系统。

Linux Shell学习笔记2-终端、shell与控制台


分享到:


相關文章: