六月 25th, 2019

Linux作为操作系统的主要特征之一是其灵活性,该系统被设计为模块化,操作系统的各个部分可以相互交换以满足用户的需要。操作系统中最容易识别的元素之一是其用户界面,大多数使用过Linux服务器的人都知道,Linux发行版提供了各种各样的图形用户界面。人们往往会忽略的是,也有许多不同的命令行界面,也称为shell,也是可用的。

Bash

最常用的shell是Bourne Again Shell,或bash。它是为GNU项目而设计的,目的是作为Bourne Shell的开源替代品,而Bourne Shell是在UNIX系统上使用的一种常用的Shell。Bash还从其他一些UNIX shell中获得了灵感,比如C shell(csh)和KornShell(ksh)。每个主要的UNIX Shell特性都不同:Bourne Shell适用于编写脚本,虽然使用C shell编写脚本需要具备C编程语言知识,但是它确实提供了一些方便的工具,使其更适合交互使用。Bash将这种改进的交互性与Bourne Shell的简易脚本结合在一起。虽然bash成为了Linux系统的默认shell(现在对大多数发行版来说仍然如此),但如果可以改进的话,它不会阻止项目使用替代的shell。

Ash & BusyBox

Almquish shell,或ash就是这样的shell。此shell设计是为了与Bourne shell兼容,并且是轻量级的。但与此同时,它也缺少一些shell(如bash、ksh和csh)所具有的改进。它体积小,资源利用率低,这意味着它通常用于嵌入式系统,比如那些使用BusyBox系统的系统。BusyBox通常用于Android设备的shell以及Linux安装和引导过程的一部分。这意味着如果安装或启动Linux系统出现问题,可能是因为自己在BusyBox中使用了Almquish shell。还有一个名为dash((Debian Almquish shell)的端口,从这里将ash移植到Debian Linux。Dash是Debian和Ubuntu系统上的/bin/sh命令的默认shell。

Z Shell

Z shell,或zsh,是另一个基于Bourne shell的shell。它还添加了一些来自bash、ksh和csh的特性。除此之外,它还拥有完善的命令行完成功能,不仅可以识别命令名,还可以识别选项和参数,以及拼写更正。它还可以使用主题和插件进行扩展,并且能够以兼容模式运行,使其能够像某些其他shell(如Bourne shell)一样工作。关于插件和主题,有一个方便的工具可以帮助从命令行中找到并安装它们,使设置变得非常容易。有了这些特性,Z shell已经成为bash的流行替代品。

 Fish

最后是fish,一个友好的互动shell。顾名思义,它的设计是为了使命令行成为一个更友好的地方。因此,fish有许多特性可以使在命令行中的工作更容易,比如语法高亮和错误检查,利用颜色让工作变得更容易。还有一些自动建议可以在键入命令时完成命令。缺点是它与Bourne shell不兼容,所以虽然对于初学者来说是一个很好的开始,但是在迁移到另一个shell时,有许多不可转移的元素,比如它使用自己的脚本语言。

各种shell提供了稍微不同的工作方式,并且都可以从Linux发行版的默认存储库中安装。花点时间进行研究,并了解它们之间的区别是值得的;也许可以找到一个让管理员不用接触bash的shell。更多相关内容可以了解 常见的Linux与命令行重定向

发表评论

电子邮件地址不会被公开。 必填项已用*标注