网站搜索

5 个最常用的 Linux 开源 shell


shellUnixGNU/Linux等操作系统中的命令解释器,是执行其他程序的程序。它为计算机用户提供了 Unix/GNU Linux 系统的接口,以便用户可以使用一些输入数据运行不同的命令或实用程序/工具。

当 shell 执行完程序后,它会在屏幕上向用户发送输出,这是标准输出设备。因此,它被称为“命令解释器”。

shell 不仅仅是一个命令解释器,它还是一种自己的编程语言,具有完整的编程语言结构,例如条件执行、循环、变量、函数等等。

这就是为什么 Unix/GNU Linux shell 比 Windows shell 更强大。

在本文中,我们将了解 Unix/GNU Linux 上一些最常用的开源 shell。

1. bash shell

Bash Shell,或简称“Bash”,代表“Bourne Again SHell”。它是原始 Bourne Shell (sh) 的增强版,由 Brian Fox 于 1989 年推出。

多年来,Bash 已成为许多 Linux 发行版和 macOS 上最流行、最广泛使用的命令行解释器之一(直到 Catalina,之后被 zsh )。

Bash 为用户提供运行命令、导航文件系统和运行脚本的能力。用户可以利用命令历史记录、选项卡完成和脚本编写功能等功能来自动执行任务并简化工作流程。

Bash Shell 在开源计算的发展中发挥了关键作用,为用户与其系统交互提供了一致的界面。

2.Tcsh/Csh外壳

Tcsh(发音为“tee-shell”)和 Csh(发音为“see-shell”)是 Unix基于 的命令行 shell 已经存在了几十年。 Csh,即C shell,是由 Bill Joy 于 20 世纪 70 年代末在加州大学伯克利分校开发的。

它引入了一些受 C 编程语言启发的功能和脚本语法,这使其在熟悉 C 的程序员中很受欢迎。

Tcsh是原来Csh的增强版本,它代表“Tenex C Shell”,带有“Tenex” ” 是对 TENEX 操作系统的引用。

Tcsh 融合了 Csh 的所有功能以及其他改进,例如命令行编辑、作业控制和命令完成。

这两种 shell 在 Unix 世界中都具有影响力,许多用户欣赏它们独特的脚本语法和功能。然而,随着时间的推移,其他 shell(如 bash)由于其广泛的功能和广泛的采用而变得越来越流行。

尽管如此,TcshCsh 仍然是 Unix shell 历史中不可或缺的一部分。

3.Ksh外壳

KornShell,通常称为 ksh,是一种 Unix shell,由 AT&T 贝尔实验室的 David G. Korn 于 20 世纪 80 年代初开发。

它结合了 C shell (csh) 和 Bourne shell (sh) 的功能,旨在提供两全其美的功能。多年来,ksh 因其先进的脚本编写功能而备受赞誉,使其成为许多系统管理员和高级用户的最爱。

ksh 的一个突出特性是它的关联数组,这一特性在当时的 shell 中并不常见。它还引入了 select 结构,这使得脚本中的菜单生成变得简单。

另一个显着的优点是它的命令行编辑和历史记录功能,这些功能后来被 bash 等其他 shell 采用。

4.Zsh外壳

Zsh shell,通常简称为“Zsh”,是一种功能强大的 Unix shell,在程序员和系统管理员中非常受欢迎。

Zsh 作为 Bourne Shell 的扩展而诞生,它融合了 Bashkshksh 等其他 shell 的功能。 tcsh,提供丰富的功能和改进的交互使用。

Zsh 的突出功能之一是其强大的自动完成功能。与其他 shell 不同,Zsh 的自动完成功能是上下文感知的,可以建议相关命令、文件路径,甚至 Git 分支,使用户体验更流畅、更直观。

此外,Zsh 使用 Oh My Zsh 框架进行高度可定制,用户可以轻松应用主题和插件,从而增强终端环境的美观和功能。

5. 鱼

Fish Shell 是一种现代的、用户友好的命令行 shell,旨在为用户提供交互式且直观的界面。

BashZsh 等传统 shell 不同,Fish 提供开箱即用的智能建议,使初学者和有经验的用户都可以更轻松地导航和使用执行命令。

Fish 的突出功能之一是它的自动建议,它根据您的命令历史记录提供实时反馈,从而加快命令执行速度。

Fish 还拥有充满活力且丰富多彩的界面,具有语法突出显示功能,可以更轻松地阅读和理解命令。其基于 Web 的配置允许用户自定义其 shell 体验,而无需深入研究复杂的配置文件。

此外,Fish 拥有大量且不断增长的社区贡献的插件和主题,增强了其功能和外观。

概括

这些并不是 Unix/GNU Linux 中唯一可用的 shell,但除了预装在各种 Linux 发行版中的 shell 之外,它们是最常用的 shell。

我希望您觉得这篇文章有用。如需任何其他信息,请随时发表评论。