Linux 上最常用的 5 个开源 Shell
Shell是Unix或GNU/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)因其广泛的功能和广泛的采用而越来越受欢迎。
尽管如此,Tcsh和Csh仍然是 Unix shell 历史中不可或缺的一部分。
3. Ksh 外壳
KornShell ,通常称为ksh ,是由 AT&T 贝尔实验室的David G. Korn于 20 世纪 80 年代初开发的 Unix shell 。
它结合了 C shell ( csh ) 和 Bourne shell ( sh ) 的功能,旨在提供两全其美的功能。多年来,ksh因其高级脚本功能而广受赞誉,成为许多系统管理员和高级用户的最爱。
ksh的突出特性之一是其关联数组,这一特性在当时的 shell 中并不常见。它还引入了 select 结构,这使得在脚本中生成菜单变得非常简单。
另一个显著的优势是它的命令行编辑和历史记录功能,这些功能后来被其他 shell(如bash)所采用。
4. Zsh Shell
Zsh shell ,通常简称为“ Zsh ”,是一个功能强大的 Unix shell,在程序员和系统管理员中非常受欢迎。
Zsh诞生于Bourne Shell的一个扩展,它融合了Bash、ksh和tcsh等其他 shell 的功能,提供了丰富的功能和改进的交互式使用。
Zsh 的突出功能之一是其强大的自动完成功能。与其他 shell 不同,Zsh 的自动完成功能具有上下文感知功能,可以建议相关命令、文件路径甚至Git 分支,从而使用户体验更加流畅和直观。
此外,Zsh使用Oh My Zsh框架实现高度可定制,用户可以轻松应用主题和插件,增强终端环境的美观性和功能性。
5.鱼
Fish Shell是一个现代的、用户友好的命令行 shell,旨在为用户提供交互式和直观的界面。
与Bash或Zsh等传统 shell 不同,Fish提供开箱即用的智能建议,使初学者和有经验的用户更容易导航和执行命令。
Fish最突出的功能之一是它的自动建议,它根据您的命令历史记录提供实时反馈,从而可以更快地执行命令。
Fish还拥有一个充满活力且丰富多彩的界面,语法高亮显示使命令更容易阅读和理解。其基于 Web 的配置允许用户自定义其 shell 体验,而无需深入研究复杂的配置文件。
此外,Fish拥有大量且不断增长的社区贡献的插件和主题,增强了其功能和外观。
概括
这些并不是 Unix/GNU Linux 中唯一可用的 shell,但除了各种 Linux 发行版预装的 shell 之外,它们是最常用的 shell 之一。
希望您觉得本文有用。如需更多信息,请随时发表评论。