可能重复:
shell、控制台和终端之间有什么区别?
这个问题听起来可能有点愚蠢,但我很难区分 shell(例如 Bourne 或 bash)和 GNOME 中的终端应用程序。我意识到两者完全不同,但我似乎找不到用文字写成的明确答案。有人能清楚地区分两者吗?
答案1
终端程序只是 shell 的一个图形界面。shell 实际上是处理命令等的;终端程序只是给它提供了一种与图形环境交互的方式。
答案2
shell 是典型的 Unix 程序。它从标准输入读取命令,并在标准输出上打印一些内容。这很简单,也很好。
要点是:在图形环境(如 GNOME 或 KDE)中,程序不能直接在桌面上写文本。如果程序可以,很快就会变得一团糟。因此,您需要一个程序来提供其他程序可以写文本的空间。该程序还接受用户的击键并将其转换为字节序列,因为这是许多程序(命令行、基于文本、非 GUI)所期望的。所有这些都是 GNOME 终端应用程序的工作。
因此,您有 shell(可能是 bash),并且 GNOME 终端围绕着它。要查看 GNOME 终端的具体功能,您可以运行 (Alt+F2) gnome-terminal
,xterm
并rxvt
在两者之间查看它们之间的不同之处和共同之处。
答案3
我认为你真正想问的是安慰和一个终端像什么xterm
?
如果是这样,控制台是本地的,只能有一个控制台。控制台的输出指向/dev/console
通常意味着您的显示器。另一方面,终端实际上是一个终端仿真器,它让人回想起大型机和整个房间一样大,用户与愚蠢的终端远离主机。终端将发送终端命令通过串行线路连接到主机以与其交互。如今,我们仍然使用终端,但它们是模拟的,因此我们可以使用多个终端(每个终端都绑定到一个伪 tty,如/dev/pts#
),我们甚至可以远程使用它们并通过互联网上的加密 SSH 通道转发它们的连接。
控制台和终端应用程序都会在登录时调用您的 shell。
答案4
终端本质上是窗口中的模拟外壳。
如果您想查看没有终端的真实 shell,请按Ctrl+ Alt+F1和Ctrl+ Alt+F8返回图形界面。