终端(terminal)shelltty控制台(console)bash之间的区别与联系
Posted sench
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了终端(terminal)shelltty控制台(console)bash之间的区别与联系相关的知识,希望对你有一定的参考价值。
1、终端(termimal)= tty(Teletypewriter, 电传打印机),作用是提供一个命令的输入输出环境,在linux下使用组合键ctrl+alt+T打开的就是终端,可以认为terminal和tty是同义词;
2、shell是一个命令行解释器,当你打开一个terminal时,操作系统会将terminal和shell关联起来,当我们在terminal中输入命令后,shell就负责解释并执行命令;
3、在计算机发展的早期,计算机的外表上通常会存在一个面板,面板包含很多按钮和指示灯,可以通过面板来对计算机进行底层的管理,也可以通过指示灯来得知计算机的运行状态,这个面板就叫console。在现代计算机上,在电脑开机时(比如ubuntu)屏幕上会打印出一些日志信息,但在系统启动完成之前,terminal不能连接到主机上,所以为了记录主机的重要日志,比如开关机日志,重要应用程序的日志,系统中就多了一个名为console的设备,这些日志信息就是显示在console上。一台电脑有且只有一个console,但可以有多个terminal。举个例子,电视机上的某个区域一般都会有一些按钮,比如开机,调音量等,这个区域就可以当做console,且这个区域在电视上只有一个,遥控器就可以类比成终端,终端可以有多个。
4、linux系统上可以包含多种不同的shell,比较常见的有Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh),三种shell 都有它们的优点和缺点。Bourne shell 的作者是 Steven Bourne,它是 UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用。bash的全程叫做Bourne Again shell,从名字上可以看出bash是Bourne shell的扩展,bash 与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性,如命令补全、命令编辑和命令历史表等功能,它还包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。总而言之,bash是shell的一种,是增强的shell。
参考:
1、https://www.zhihu.com/question/21711307
2、https://blog.csdn.net/wenlifu71022/article/details/4069929
3、https://www.zhihu.com/question/20388511
以上是关于终端(terminal)shelltty控制台(console)bash之间的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章
vscode如何能将输出从OUTPUT改为TERMINAL或者DebugConsole