当前位置: 首页 > 科技观察

Linux高级用户最常用的5个开源Shell

时间:2023-03-12 09:17:39 科技观察

Linux有许多可用的Shell,但在本文中,我们仅涵盖前五个LinuxShell并全面讨论它们的功能。Linux为一直在寻找新工具包的高级用户提供了一些最好的开源shell。Linux中不同类型的shell提供不同的功能,但在它们的核心,它们基本上实现了几十年前开发的想法。什么是LinuxShell在Linux中,shell是用于执行操作系统中其他程序的命令解释器。它为计算机用户提供了一个Linux系统的接口,以便用户可以使用一些输入数据运行不同的命令或实用程序。简单来说,shell是一个程序,它从键盘获取命令并将它们交给操作系统执行。它接受纯文本命令并调用操作系统服务来做某事。但是shell不仅仅是一个命令解释器。它也是一种完整的编程语言,具有自己的结构,例如变量、循环、条件执行、函数等。每个shell都有自己的语法和脚本功能。那么,让我们来看看Linux上最常用的五个开源shell。1.BashShellBrianFox于1988年为GNU项目将Bash开发为Bourneshell的免费版本。Bash与原始版本相似,但增加了命令行编辑等功能。因为Bash是标准的GNUshell,所以它成为所有Linux发行版上的标准shell。大多数现代Linux发行版现在默认提供Bashshell。这个开源Linuxshell以其强大的功能集和可用性而闻名于社区。该名称是“Bourne-AgainSHell”的首字母缩写词。Bash被认为如此强大的原因之一是因为它是可编写脚本的。Shell脚本是隔离的命令列表,可优化任何任务并具有成本效益,类似于具有明确定义标准的其他编程语言。您可以手动将任何内容键入Bash,或将其列在纯文本文件中并让Bash为您运行。学习Bash对于执行自动化非常有用。它非常强大并具有许多功能,例如:目录操作作业控制大括号扩展大括号扩展波浪号扩展别名命令历史命令行编辑键绑定集成编程功能控制结构内置插件动态加载Linux内核的创建者LinusTorvalds说他在1991年在新内核上运行的前两个程序是Bash和GNU编译器gcc。2.ZshShellZsh(Zshell的简称)是BourneShell的扩展版本,具有许多新特性并支持插件和主题。它是一个高度可定制的Linuxshell,包含一些非常强大的功能,例如制表符完成、智能历史记录、远程文件扩展等等。Zsh是一个为交互使用而设计的shell,尽管它也是一种强大的脚本语言。Bash、Ksh和Tcsh的许多有用功能已合并到Zsh中并添加到它们之上。zsh由PaulFastad于1990年开发,zsh的名字来源于耶鲁大学教授宗绍。它已成为Linux操作系统最流行的shell之一。一些更重要的Zsh功能是:命令自动完成改进的变量处理拼写更正共享命令历史简单的环境变量设置定制当您使用Linux时,您的大部分用户时间都花在了终端上。如果你想定制你的终端并让它看起来很专业,你可以使用OhMyZsh来实现这个目标。它是一个社区驱动的开源框架,可用于管理Zsh配置。Zsh还有其他框架,如Prezto、Zgen、Antigen等。目前OhMyZsh可以支持150个主题和275个插件。Zsh和Bash都有相似且令人印象深刻的功能,但也有自己独特的工具。如果您正在寻找bash中没有的可扩展性、更好的自定义和高级功能,那么zshshell是一个不错的选择。此外,Zsh是macOSCatalina中的默认登录shell和交互式shell,取代了Bash。相关:https://www.linuxmi.com/ubuntu-20-04-zsh.html3.FishFishshell是一个现代命令行界面,具有自动提示、制表符完成和语法突出显示功能。它是适用于Linux和macOS的智能且用户友好的命令行shell。外壳为用户提供强大的功能和控制,同时不影响速度和效率。它旨在开箱即用,无需大量配置。基于历史的Fish内联自动建议开箱即用。Fish使用您的历史记录来建议下一个完成命令的可能性。这个shell比经典的Bashshell更丰富多彩。您很快就会注意到Fish在您键入时执行语法突出显示。这些颜色和更多可以通过运行fish_config来改变。这将打开一个基于Web的GUI,您可以在其中选择颜色主题并配置shell的外观。另一个很棒的功能是命令的可用性。例如,如果您键入/usr/bin/linuxiac,它会以红色显示该行,表明它不是有效命令,但如果您键入/usr/bin/ping,它看起来正常。Fishshell功能:基于历史记录的内联自动建议出色的制表符完成语法高亮直观的通配符支持基于网络的配置Sanity脚本有利的shell,Fish是非常强大和有用的Linuxshell。相关:FISH:为90后准备的Linuxshellhttps://www.linuxmi.com/fish-linux-shell.html4、KshshellKsh(Kornshell的缩写)由AT&T贝尔实验室的DavidKorn发明并于1986年推出开始公众生活。它是Bourneshell的重新实现。Kshshell的命令编辑器界面可以快速轻松地纠正输入错误,以及轻松调用和重用命令历史记录。它不提供命令补全,但提供文件名补全。Ksh允许开发人员在需要时创建新的shell命令。Kshshell的命令行编辑模式是最开始吸引人们的特性。通过命令行编辑,返回并修复错误要容易得多。Ksh的另一个主要功能(主要针对交互式用户)是作业控制。一些更重要的Ksh功能是:作业控制别名功能命令历史命令行编辑集成编程功能控制结构调试原语通用表达式高级I/O功能Kshshell已经发布了不同的版本,例如pdksh、mksh、ksh88和最新的ksh93.5,TcshShell在最初的Linux时代,C和C++编程语言非常流行,Linux本身的大部分内容都是用它们编写的。正如预期的那样,出现了一个新的shell,即CShell,它使用vanillaC语法模型。Tcsh是BerkeleyUNIXcsh(CShell)的增强但完全兼容的版本。它是一种命令语言解释器,可用作交互式登录shell和shell脚本命令处理器。Tcsh可以被认为是下一代Cshell。Tcsh由KenGreer于1979年在卡内基梅隆大学开发。tcsh中的“t”来源于TENEX中的“T”,TENEX是BBN于1969年为PDP-10系列大型计算机开发的操作系统。早期版本的MacOSX附带tcsh作为默认shell,但较新版本已将默认值更改为Bash。tcsh现在是FreeBSD的默认根shell。Tcsh的主要特性是可编程命令完成和命令行编辑。它在极简性和基本功能之间取得了很好的平衡。使用tcsh所需的所有文档都位于mantcsh中,而不是分散在各种帮助程序中。总结帮助Linux发行版确保其当前地位的基本功能之一是Linuxshell。掌握Linuxshell为您提供了一种与操作系统交互的替代方法。我们鼓励读者根据他们的要求尝试其中的一些shell,并为自己获得第一手经验。