5 个最常用的 Linux 开源 shell

简介: 5 个最常用的 Linux 开源 shell

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

当 shell 完成执行程序时,它会在屏幕上向用户发送输出,这是标准输出设备。因此,它被称为“命令解释器”。
shell 不仅仅是一个命令解释器,它还是一种自己的编程语言,具有完整的编程语言结构,例如条件执行、循环、变量、函数等等。

这就是为什么 Unix/GNU Linux shell 比 Windows shell 更强大。在本文中,我们将了解 Unix/GNU Linux 上一些最常用的开源 shell。

1. Bash

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 的增强版本,Csh 代表“Tenex C Shell”,“Tenex”指的是 TENEX 操作系统。

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

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

尽管如此,Tcsh 和 Csh 仍然是 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 的扩展而诞生,它融合了 Bash、ksh 和 tcsh 等其他 shell 的功能,提供了一组丰富的功能和改进的交互使用。

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

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

5. Fish

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

与 Bash 或 Zsh 等传统 shell 不同,Fish 提供开箱即用的智能建议,使初学者和经验丰富的用户更轻松地导航和执行命令。

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

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

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

总结

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

相关文章
|
2月前
|
人工智能 分布式计算 大数据
Linux操作系统:开源力量的崛起与影响###
一场技术革命的火种,如何燎原? 本文将带您深入探索Linux操作系统的诞生背景、核心特性及其对现代科技世界的深远影响。从1991年芬兰学生Linus Torvalds的一个小众项目,到如今成为支撑全球无数服务器、超级计算机及物联网设备的基石,Linux的发展既是一部技术创新史,也是开源文化胜利的见证。通过剖析其设计哲学、安全性、灵活性等关键优势,结合实例展示Linux在云计算、大数据处理等领域的广泛应用,本文旨在揭示Linux为何能在众多操作系统中脱颖而出,以及它如何塑造了我们今天的数字生活。 ###
|
3月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
29天前
|
边缘计算 人工智能 运维
Linux操作系统:开源力量的崛起与影响###
一场技术革命的回顾 回溯至1991年,当Linus Torvalds宣布Linux操作系统的诞生时,世界或许并未意识到这一举措将如何深刻地改变技术领域的面貌。本文旨在探讨Linux操作系统的发展历程、核心特性、以及它如何引领了一场开源运动,重塑了软件行业的生态。从最初的个人爱好项目成长为全球最广泛采用的服务器操作系统之一,Linux的故事是技术创新与社区精神共同推动下的辉煌篇章。 ###
|
2月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
70 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
存储 关系型数据库 Linux
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
84 2
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
296 3
|
2月前
|
存储 安全 Unix
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
43 0
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
604 2