什么是Shell?

简单的说, Shell就是一个小程序,这个小程序可以接受来自键盘的命令并把这些命令发送到操作系统,再有系统来执行。在过去,在安装有Unix的计算机上,这是唯一的可用的交互式操作。而如今,可以通过图形化界面来输入命令行,比如Shell。

在大多数的Linux计算机中,安装有个一个叫bash(bash是Bourne Again SHell的简写,这是有Steve Bourne编写的一个早期Shell的升级版。),它充当Shell的角色。通常在Linux计算机上有多种可用的Shell,比如:ksh、tcsh、 zsh。

Xterm、Gnome-Terminal、Konsole之类都是什么?

一般的Linux系统通常包含多种终端模拟器,就像:XTerm、Rxvt、Konsole、Kvt、Gnome-Terminal、Nxterm、eterm。

以下是基于htop命令进行展示的结果:

Gnome Terminal

对于GNOME用户,Gnome Terminal显然都是默认安装的。也就是说,它是系统的一部分。与列出的其他终端程序一样,它支持彩色的文本,多样化的主题,透明,鼠标交互,多标签。这个终端支持多用户,所以可以任意尝试不同的设置项,而不会影响当前的配置,或者也可以为不同的任务设置不同的配置。Gnome Terminal支持链接的点击,这个特性用过之后就无法舍弃。

作为Gnome的一个组件,它的标题栏的样式跟GTK主题保持一致,与系统的其他部分的外观也一样,与大多数Gnome组件一样,默认的终端遵循GPL v3协议。

Guake

Guake少数有“下拉”样式的界面的终端里的头一个,按下热键后下拉的内容会在屏幕的顶端显式。Guake和其他有下拉风格界面的终端的风格在Quake也有,出于对90年代的怀念,可以通过这种方式来重温我的最爱。

在Guake众多特性中,自带了大量的主题,包括Solarized Dark和Tomorrow Night。它有足够多的配置项可以满足所有的需求,默认的热荐(F12 启动,F11 全屏)。Guake可以在GitHub上找到,基于 GPLv2。

Konsole

Konsole是KDE附带的默认终端仿真器。作为一个KDE组件,它为许多其它的KDE应用提供了嵌入式终端,包括Konqueror,Kate,KDevelop。它的功能和GNOME默认的终端类似。如果不喜欢终端的屏幕显示比例或TMUX,它还提供了分割终端功能。Konsole基于GPL2协议

Terminator

Terminator在很多地方与GNOME终端类似,也像Konsole,它的过人之处在于分割终端,在一个窗口里显示多个终端。也是跨平台的,如果想在Mac,Windows和Linux上面体验,它可能是不错的选择。它也有一些漂亮的功能,包括文字和网址的拖放功能,精心设计的垂直滚动功能,制表符适度处理(许多程序员需要这个),自动日志等。它还可以优雅的处理 UTF-8 字符。Terminator基于GPL2开源。

Tilda

Tilda是为GTK设计的另一种下拉抖动样式(Quake-style)终端仿真器,它的名字是取自波浪号键(Tilda),默认波浪号键调用雷神之锤终端。Tilda的默认界面是很小的,没有窗口标题,边框,或任何东西,但需要改变样式时可以在偏好中设置。它有大量的配备,从设置键绑定,设置默认的大小和颜色,滚动设置,和更多的参数。Tilda基于GPL2开源。

Xterm

如果感觉Xterm它很古老,没错,因为它的确很古老。Xterm出生于1984年,Xterm是X Window系统的默认终端模拟器,需要避开任何的图形工具包,否则它可能会显示在你的窗口管理器上。但这种简约的做法也相应的缺乏特色;这是非常简单的一个终端。不过,对于一个非常小的带有图形系统的Linux,Xterm中仍有一席之地。Xterm基于MIT许可。

Yakuake

Yakuake是另一个下拉终端模拟器,它是KDE家庭的一部分。简称“又是一个kuake系列Yakuake实际上可以看作是一个前端Konsole(上面提到),它的许多特征是相似的。如果你喜欢的Konsole但又喜欢抖动样式,Yakuake是不错的选择。Yakuake基于GPL2。

参考:

https://www.oschina.net/translate/top-open-source-terminal-emulators(以上内容转自此篇文章,后期经过大量修改)

Shell、Xterm、Gnome-Terminal、Konsole简介(转)的更多相关文章

  1. 在linux终端执行clear或top命令时出现:'xterm' unknown terminal type的错误

    例如: [root@localhost phpmyadmin]# clear 'xterm': unknown terminal type. 解决办法: 1.临时办法,下次启动失效,需要重新执行 ex ...

  2. 在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type

    在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type的错误. 例如: [root@localhost phpmyadmin]# clear ' ...

  3. Emacs中使用shell(调出terminal)

    在Emacs中使用shell(调出terminal) 方法: M-x eshell 注意:不能使用 M-x shell,这样调用的是 cmd命令,一些命令无法使用

  4. Shell编程基础教程1--Shell简介

    1.Shell简介 1.1.查看你系统shell信息 cat /etc/shell 命令可以获取Linux系统里面有多少种shell程序 echo $SHELL 命令可以查看当前你所使用的shell是 ...

  5. shell脚本编程之变量简介及脚本执行过程

    脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型 ...

  6. How to Copy and Paste in the Ubuntu Gnome Terminal

    How to Copy: Select the content in terminal use your mouse , and then use Ctrl + Shift + C to copy t ...

  7. ubuntu 桌面版, ssh 连接时使用,x转发进行使用 gnome-terminal 时出现:Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached 错误

    当我按照这种情景使用时,出现了这种情况: 考虑着 gnome 桌面正在运行,可能是gnome-terminal 使用了工厂模式进行创建:查找gnome-terminal 文档,有如下解决方案: gno ...

  8. 今天介绍一个渐变的方法,在shell里面自动生成注释简介

    在编辑sh脚本时,我经常在shell中写一些注释.今天我介绍一种渐变方法,它可以在每次vim shell脚本时自动在shell中生成注释和其他信息. 让我们共享一个shell脚本模板文件,将其复制到用 ...

  9. linux - console/terminal/virtual console/pseudo terminal ...

    http://en.wikipedia.org/wiki/System_console System console Knoppix system console showing the boot p ...

随机推荐

  1. Java同步容器总结

    <0>StringBuffer适用于多线程场景,StringBuilder适用于字符串拼接[堆栈封闭] `Vector`实现`List`接口,底层和`ArrayList`类似,但是`Vec ...

  2. Oracle 批量插入值

    工作中常遇到将Excel文档数据转为SQL语句,然后再将SQL语句插入到数据库已完成数据转移保存到数据库中,下面介绍下如何一次性插入多条SQL语句,先抛个图: 由于真实数据不变给大家看,所以这里是做了 ...

  3. 重装系统后快速安装.NET 3.5

    每一次重装系统(Windows 8.1 和Windows 10)之后,最让我头疼的一件事就是配置把一大堆软件装上了.通常我会装好SQL Server之后,把电脑放在工作组安装Visual Studio ...

  4. 【python】random

    1.random 和其他语言一样,返回大于等于0.小于1的浮点数 2.uniform(a,b) 返回大于等于a.小于等于b的浮点数 3.randint(a,b) 这个很好理解,返回一个介于a和b之间的 ...

  5. 设置Hadoop的 dataNode的单个Map的内存配置

    1.进入hadoop的配置目录 ,找到 环境变量的 $HADOOP_HOME cd $HADOOP_HOME 2.修改dataNode 节点的 单个map的能使用的内存配置 找到配置的文件: /opt ...

  6. C# FormClosing FormClosed 区别详解

    FormClosing事件 在窗体关闭时,FormClosing事件发生.此事件会得到处理.从而释放与窗体相关的所有资源. 如果取消此事件,则窗体仍然保持打开状态. 当窗体显示为模式对话框时,单击“关 ...

  7. C#面对“重载”的Win 32 函数

    在Win32 Api中有很多添加/设置函数在参数上支持多种不同类型的结构体.这些参数定义为LPVOID* 或者LPBYTE,LPVOID*一般由Win32 分配内存空间,在C#从通过System.In ...

  8. js replace替换所有字符

    'abc...'.replace(new RegExp('oldStr', 'gm'), 'newStr')

  9. PJAX全局无刷新的设置方法~

    先添加必要文件: <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></scrip ...

  10. python write和writelines的区别

    file.write(str)的参数是一个字符串,就是你要写入文件的内容.file.writelines(sequence)的参数是序列,比如列表,它会迭代帮你写入文件. 下面两种方式写入文件的效果是 ...