6 种可供高级用户使用的替代 Linux Shell

Bash 或 Bourne Again Shell 是大多数 Linux 发行版预装的。 然而,它并不是唯一的外壳。 还有其他几个可以尝试。 这里有六种可以替代的外壳 bash. 它们中的每一个都有其优点和缺点,因此您必须尝试一下,看看哪个最适合您。

1. sh(或 Bourne Shell)

Bourne shell 以其创造者 Stephen Bourne 的名字命名,是有史以来最早的 shell 之一。 你可以说它被用作创建 Bash 的基础。 有时用户会混淆两者,并认为它们是相同的,而实际上它们不是。 确实很多 .sh 脚本也可以在 Bash 上运行,因为 Bash 包含了很多来自 Sh 的内容,但反之则不然。

您可以将 Sh 视为 Bash 的前身。 它没有那么多功能,但比 Bash 更标准化。

2. 冲刺

Dash 本质上是 Debian 系统上的 Bash。 如果您正在运行基于 Debian 的发行版,那么您很可能正在运行 Dash,而不是 Bash。 然而,由于使用 Dash 作为默认 shell 的复杂性,Ubuntu(基于 Debian 的发行版)决定使用 Bash 作为交互式脚本,而不是 Dash 作为默认 shell。

linux-shells-02-bash-vs-dash-990x495

Dash 缺少 Bash 的许多功能,例如制表符补全和命令历史记录,但它速度更快且体积更小(100K 与 900K),如果您在不那么强大的计算机上运行它,这是一个因素。

3. csh(或 C Shell)

C 和 C++ 编程语言非常流行,Linux 本身的大部分内容都是用它们编写的。 这就是为什么有一个使用 C 语法模型的 shell(C Shell 或 Csh)并不奇怪的原因。 如果你精通 C 语言,那么这个 shell 对你来说是很自然的。

linux-shells-03-c-shell

但是,Csh shell 有很多错误,但功能并不多。 这就是 Tcsh shell 出现的原因。 Tcsh 修复了大部分错误并添加了新功能,例如命令完成、作业控制、拼写更正等。不幸的是,Tcsh 和 Bash 非常不同,这意味着您不能在 Tcsh 中运行 Bash 脚本,反之亦然。

4. ksh(或 Korn Shell)

Ksh 或 Korn shell(以其创建者 David Korn 命名)与 Tcsh 几乎同时推出,但与 Tcsh 不同的是,它与 Sh 和 Bash 兼容。 直到 2000 年,它都是 AT&T 的专有外壳,这就是它没有变得那么流行的原因。 Ksh 为 Sh 添加了更多功能,例如浮点运算、作业控制、命令别名和命令完成。

linux-shells-04-ksh-shell

5. zsh(或 Z Shell)

到目前为止列出的 shell 大多是在 1970 年创建的。从那以后计算机已经走了很长一段路,这也需要新的 shell。 流行的新 shell 之一是 Z shell 或 Zsh。 它是由 Paul Falstad 于 1990 年创建的。

linux-shells-05-zsh-shell

它具有 Bash 的功能以及更多功能,例如启动文件、登录/注销监视,以及字节码等内置编程功能,语法支持科学计数法、浮点运算、关闭注释、概念、变量、函数、和关键索引。 如果您正在寻找更高级的 shell,请尝试 Z shell。

6. 鱼

对更现代贝壳的追求并没有以 Fish 结束。 新世纪出现了新的外壳,例如 Fish(或 Friendly Interactive Shell)。 它于 2005 年发布,并非基于 Sh shell。 它最与众不同的方面是它具有独特的命令行语法,旨在对初学者更加友好。 它还具有一些很酷的功能,例如自动建议、箭头键选择、X 剪贴板支持、256 种终端颜色等。

linux-shells-06-鱼壳

Fish 的主要缺点是它与 Bash 和其他基于 Bourne 的 shell 非常不同。 因此,您无法将代码(和知识)从 Fish 移植到 Bash 和 Sh。

那么哪种外壳最好呢? 不幸的是,这个问题无法回答。 它们都有其优点和缺点,这实际上取决于您需要它的用途。 但是,既然您已经了解了这六种替代 shell 中的每一种的优缺点,那么您将更容易决定在哪种情况下应该使用哪种 shell。 虽然毕竟,老实说,这个选择很大程度上取决于个人喜好——我自己坚持使用 Bash,我对此很好。 Bash 是默认的 shell,原因你知道!

订阅我们的新闻!

我们的最新教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅