Bash、Shell、UXTerm和Terminal之间的区别

5
在Windows系统中,我们有命令提示符,而在Linux系统中有更多类似的应用程序,如:
  • Shell
  • UXTerm
  • Terminal
  • 以及可能还有其它的应用程序
这是我在Linux上的第一天,请问有人能描述一下它们之间的区别吗?

2
抱歉,这里是专门解答编程问题的地方。如果谷歌真的无法回答您的问题,您可以尝试在http://superuser.com上提问。 - arkascha
2个回答

13

从终端用户的角度来看,在Linux系统中它们可能都长得很相似。它们之间的区别在于它们如何相互交互。

Shell是实际处理命令并返回输出结果的程序。大多数shell还可以管理前台和后台进程、命令历史记录和命令行编辑等功能。这些功能(以及其他许多功能)在bash中都是标准的,而bash是现代Linux系统中最常见的shell。

Terminal是指一个运行shell的包装程序。几十年前,它是一个由显示器和键盘组成的物理设备。随着Unix/Linux系统不断增加更好的多进程和窗口系统,这个终端概念被抽象为软件。现在你有像Gnome Terminal这样的程序,它会在Gnome窗口环境中启动一个窗口,并在其中运行一个shell,你可以在其中输入命令。

UXTerm是带有Unicode字符支持的XTerm。XTerm和Terminal之间的主要区别在于gnome-terminal具有更多的功能,而XTerm则是极简主义的(尽管它具有gnome-terminal没有的一些高级功能)。


1
而UXTerm、XTerm、Konsole、rxvt等许多其他终端程序都是终端程序的例子。 - Peder Klingenberg
2
@Up_One 你可能想要补充一下,终端可以同时指代“终端”的概念(你已经提到了),也可以是模拟原始物理设备行为的软件。现今存在的大多数“终端”程序都被称为“终端仿真器”。 - unode
@Unode - 很棒的简明定义。 - Up_One

0
在计算机中,Shell 提供了一个用户界面,用于访问操作系统的服务。它们可以是命令行界面(这是 Linux 中的终端或 Windows 中的命令行),也可以是图形界面(桌面、图标、文件夹、窗口等)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接