liujianhua 2020-04-22
自从70年代Unix系统诞生以来,它就一直吸引着全世界的目光。帮助Linux和BSD发行版确保其当前地位的基本特性之一是Linux shell。由于其强大的功能和多样的应用程序,shell是许多Linux爱好者的必备工具之一。它是操作系统的命令行接口,允许您根据自己的条件执行任何类型的操作。此外,Linux shell不仅是一个接口,而且是一种具有自己的语法和语义集的成熟脚本语言。
常用的Linux shell
Linux为高级用户提供了一些最好的开源shell,这些用户总是希望为自己的武器库添加新的工具包。这反过来又使许多日常用户很难选择特定的shell。我们冒昧地为Linux用户列出了一些最好的免费开源shell。请仔细阅读本文,找出最适合您的Linux shell。
1、sh Shell
Bourne Shell或“sh”是历史悠久的Unix操作系统忠第一个流行的 Shell。sh 是 UNIX 上的标准 shell,它的创建者Stephen Bourne于1977年在AT&T贝尔实验室开发了它,自那时以来,它已随大多数早期的Unix系统一起提供。Bourne Shell从它使用的脚本扩展名中获得了简短的形式,它要求用户以sh结束脚本名。它为许多流行的未来Shell设置了标准,包括重定向,脚本功能和强大的语言构造。
Bourne Shell的功能
2、Bash Shell
Bash被广泛称为Bourne Again Shell,它可能是现代Unix机器上使用最多的Linux Shell。如果您使用的是标准Linux发行版(例如Ubuntu或Arch),则您使用的默认Shell是Bash Shell。这种开源Linux shell以其强大的功能集和可用性而在社区中广为人知。因此,大多数Linux用户在一生中的某一时刻都运行Bash。
Bash Shell的功能
3、C Shell
C shell或“csh”是最古老的开源Unix shell之一。它是由UCB当时的研究生Bill Joy在70年代开发的。从那时起,csh附带了许多Unix变体,尤其是各种BSD。它为解释器合并了类似于C的语法,由于原始的Unix系统和现代Linux内核大部分都是用C/C++编写的,因此对许多人来说都是有帮助的。
C Shell的功能
4、Korn Shell
Korn Shell或ksh可以说是当今Linux最受欢迎的开源Shell之一。它是由David Korn在传奇的贝尔实验室开发的,他从C Shell的交互性和Bash Shell的互动式中获得了启发。由于其先进的功能,包括高级作业控制,命令别名,浮点算术以及许多其他功能,自成立之初以来,Korn Shell就已经获得了极大的欢迎。
Korn Shell的功能
5、Zsh Shell
Zsh Shell是具有许多强大功能的创新型现代Linux Shell。它是在Bash之上开发的,并在有效的命令解释器旁边提供了一个交互式登录Shell。Zsh以其性能而闻名,它在许多方面都大大改善了Linux的许多开源Shell。它还借鉴了90年代其他流行Shell的元素,包括Ksh和TcshShell。如果您是Linux专家,正在寻找高级Linux Shell,请尝试Zsh。
Zsh Shell的功能
6、Tcsh Shell
Tcsh shell是C shell的升级版本,它提供可编程命令完成和命令行编辑作为其关键功能。它与Csh Shell完全兼容,可以用作交互式登录Shell和Shell脚本处理器。Tcsh带有功能强大的命令行编辑器,现代化的历史记录机制,可编程的单词补全,作业控制,拼写检查支持以及类似于C的语法,后跟Csh。该Unix shell最适合高级程序员。
Tcsh Shell的功能
7、Fish Shell
Fish Shell是一种友好的交互式Unix Shell,旨在替代Linux早期的开源Shell。除Windows操作系统外,每个Linux和BSD发行版均提供此功能。Fish提供了一组强大的功能,使您更容易发现,记住和使用计算机上令人兴奋的Linux命令。如果您正在寻找Linux桌面的智能命令行Shell,Fish当然值得一试。
Fish Shell的功能
8、Ion Shell
Ion Shell是一个令人着迷的现代Shell,它具有简单但功能强大的语法,并显着提高了性能。它是使用Rust编程语言编写的,因此它不易受到许多Bash用户遇到的常见“ ShellShcok”问题的影响。Ion从流行的Shell中借鉴了许多设计元素,例如Bash,Fish和Oil。因此,无需花费太多时间即可启动并运行此出色的shell。
Ion Shell的功能
9、Dash shell
Dash shell是Debian Almquist shell(Dash)的缩写,并且是Debian操作系统的默认命令行解释器。它比标准的GNU Bash shell小得多,但仍然以POSIX兼容为目标。Dash在移植到Linux生态系统之前已经从NetBSD版本的ash(Almquist SHell)衍生而来,并且比传统的Unix shell具有显著的性能提升。Dash比大多数Shell更快,并且需要更少的空间和更少的库。
Dash shell的功能
10、Eshell
Eshell是使用Emacs Lisp编写的一种方便的命令行解释器程序,其目的是在提供对Lisp代码的无缝支持的同时具有高度的可移植性。它提供了大量日常功能,包括自动完成,历史记录管理,作业控制机制等等。Eshell附带的脚本结构非常简单,可以正确完成工作。如果您是Lisp程序员或前卫的Emacs爱好者,那么Eshell可以成为您理想的Linux Shell。
Eshell的功能
11、rc Shell
rc shell是经典的命令行解释器,与Bourne shell极为相似。但是,与Bourne Shell相比,它具有某种简单的结构。这是因为rc使用类似C的控制结构,而不是sh使用类似ALGOL的语法。Tom Duff是该Unix Shell的主要开发人员,以其高质量的程序设计和出色的解决问题能力而闻名。
rc Shell的功能
12、Elvish shell
自从几个月前尝试使用Elvish Shell以来,它是我最喜欢的Linux开源shell之一。这是一个真正出色的命令行解释器,可让您在计算机上执行各种操作。从操纵系统本身到编写雄辩的脚本,Elvish均可用于完成大量任务。它带有丰富的健壮函数库,可用于字符串处理,正则表达式匹配,JSON解析,联网等。
Elvish shell的功能