12个最好的免费开源Linux Shell
点击「阅读原文」查看良许原创精品视频。
自从70年代Unix系统诞生以来,它就一直吸引着全世界的目光。帮助Linux和BSD发行版确保其当前地位的基本特性之一是Linux shell。由于其强大的功能和多样的应用程序,shell是许多Linux爱好者的必备工具之一。它是操作系统的命令行接口,允许您根据自己的条件执行任何类型的操作。此外,Linux shell不仅是一个接口,而且是一种具有自己的语法和语义集的成熟脚本语言。1、sh Shell
- Bourne Shell的默认Shell提示符是$符号,它是第一个使用此字符作为提示符的Shell。
- 它具有对输入输出重定向,Unicode,流重定向,批处理脚本等的内置支持。
- 尽管最初的1977年版本的shell是私有的,但它已经公开提供了源代码。
- sh shell是高度可配置的,可以进行修改以轻松匹配不同的系统标准。
2、Bash Shell
- Bash提供的命令行编辑功能非常出色,并且提供了无限的命令历史记录。
- Bash提供了强大的shell函数,别名,作业控制机制,输入输出重定向,ISO 8061支持以及Unicode支持。
- 这个开源Linux shell为命令名、路径、通配符提供了自动完成支持,并允许在文本高亮显示的同时显示彩色目录清单。
- Bash可以执行从2到64的任何基数的整数运算,并允许具有无限大小的索引数组。
3、C Shell
- C Shell提供了创新的历史记录机制,作业控制过程,交互式文件名和用户名补全以及类似C的语法。
- 它允许高级用户将其用作交互式登录Shell或Shell脚本的命令处理器。
- Linux C Shell使用的默认Shell提示符是“%”符号,与许多Bash用户熟悉的“ $”符号相反。
- C Shell使用户能够搜索和替换变量替换以及基于通配符的匹配模式。
4、Korn Shell
- Korn Shell允许用户使用Ctrl + Z终止当前作业,并使用命令fg和bg将其置于前台或后台。
- 它可用于直接将Shell程序代码存储在内存中,从而提高编程能力和提高性能。
- ksh提供了高级命令行编辑,用户可以在其中直接从其Shell使用vi或Emacs风格的编辑命令。
- Korn Shell脚本通常比Bourne Shell脚本更快,并提供高级I/O功能以及显着的安全性机制。
5、Zsh Shell
- Zsh的自动完成功能非常智能,并且支持文件和路径的高度交互式自动完成。
- 这个开源Unix shell的历史记录共享机制非常庞大,允许同时运行的许多不同终端实例的共享历史记录。
- 用户可以从其流行的,社区驱动的框架oh-my-zsh中选择400多个插件和200多个主题。
- Zsh还支持vi模式,智能转义,递归遍历,将输出传递到临时文件,拼写更正以及许多其他交互式功能。
6、Tcsh Shell
- Tcsh内置了对文件和变量的自动完成以及可编程完成和别名参数选择器的支持。
- 当在终端上运行shell脚本时,它允许经验丰富的用户合并通配符以提高灵活性。
- 该Linux shell的预构建where命令的作用类似于Bash中的which命令,但显示$PATH目录中指定的目标的每个位置。
- Tcsh是FreeBSD及其后代(例如DragonFly BSD和DesktopBSD)的默认命令行解释器。
7、Fish Shell
- Fish提供了一个强大的自动建议功能,即根据命令行历史和当前目录进行搜索。
- 其功能丰富的Tav完成功能允许用户使用通配符和大括号扩展来扩展文件路径,变量和许多特定于命令的完成。
- Fish内置了对24位真彩色的支持,使您的终端会话更加丰富多彩和更具吸引力。
- 对于寻求开箱即用且无需配置的开源shell的人们来说,这是一个很好的shell。
8、Ion Shell
- Ion Shell比Dash快,而Dash本身比当今大多数Linux机器使用的标准Bash Shell快四倍。
- 由于是用Rust编写的,所以Ion提供了比传统的基于C/C++的Unix命令行Shell更高的内存安全性。
- Ion具有对字符串,数组,glob,大括号(范围,排列,嵌套大括号),算术和过程的内置扩展支持。
- 它简单,干净和简洁的设计使其相对易于使用,并允许用户将shell编译为静态二进制文件。
9、Dash shell
- Dash是Linux最快的开源Shell之一,其时钟速度几乎是Bash和其他标准Shell的四倍。
- Dash的简约设计使其比日常的命令行解释器小得多,并且只要有限的系统资源(磁盘空间,RAM或CPU)。
- 由于Dash的代码库明显较小,因此Dash的受攻击面较小,并且对于频繁的Shell攻击非常安全。
- Ubuntu或Debian系统用户可以在终端窗口中输入man dash来找到有关Dash的更多信息。
10、Eshell
- Eshell不是一个独立的终端模拟器,而是一个日常shell,可以使用Emacs的功能与您的计算机进行通信。
- 到目前为止,它不直接支持交互式程序,因此您需要在单独的ANSI术语实例中调用它们。
- Eshell对历史记录修改和交互的默认支持非常好,其语法在某种程度上类似于Bash和Zsh。
- 用户可以通过修改eshell-prompt-function变量来自定义Eshell,该变量定义了提示在系统中的行为。
11、rc Shell
- rc使用if not scripting结构而不是vanilla else,并提供与在Bourne shell中使用的for循环相同的for循环。
- 尽管rc的输入规则很弱,但是它结合了强大的机制来操纵变量。
- rc相当轻巧,因此比许多传统的Linux开源shell更快。
- 它具有对异常处理,搜索和替换机制,模式匹配等的出色支持。
12、Elvish shell
- Elvish管道允许系统与标准文本数据一起流式传输诸如列表,地图甚至功能之类的结构化数据。
- 它带有类似C的熟悉语法,对于经验丰富的Linux用户而言,使用Elvish编写脚本非常直观。
- Elvish是使用Go编程语言编写的,因此与其他Unix Shell相比,它是类型安全的。
- 该Unix Shell附带了一个预构建的文件管理器,使系统管理更加舒适。
总结
--END--
推荐阅读:
5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!
评论