哪个linux shell最好?比较了5种常见的贝壳

寻找Linux bash shell替代方案?下面是Linux shell最好的例子:tsch、fish、KornShell和zshell。...

在Linux中使用bashshell愉快吗?或者你更愿意尝试另一种选择?有tsch、fish、KornShell和Z Shell可供选择。但是这些流行的Linux shell中哪一个是最好的呢?

best-of-linux-shells

什么是linux shell(a linux shell)?

通常,当您编写应用程序时,它是用人类能够理解的高级语言完成的。这些例子是C,java,C++等等。信不信由你,你的计算机把所有东西都看成是1s,或者是众所周知的二进制代码或机器代码。

然后编译器将高级语言翻译成二进制文件,就像可执行文件一样。这个二进制文件就是您执行以启动所述应用程序的文件。

现在,这是一个非常高级的视图;记住,你的计算机需要一个翻译层。这介于你告诉它做什么和它如何理解之间。

shell就是所谓的解释器。与编译器类似,解释器将人工代码翻译成机器代码。其中一个不同之处是口译员一次只做一句话。同时,编译器扫描整个程序并将其全部翻译成机器代码。

因此,shell是您与操作系统(OS)交互的接口。当您在shell中输入命令时,它负责解释这些命令并实现这些神奇的效果。复制文件、管道、列表文件等操作都在shell的职权范围内。

有几个Linux shell可用。要查找系统上可用的所有shell,请打开终端并键入:

cat /etc/shells

要了解您当前使用的shell类型,请键入:

echo $0

What is the best Linux shell

但是你用的是最好的Linux shell吗?让我们看看有什么可用的。

1猛击

这是Linux用户中最流行的shell。如果没有Bourne-Again-Shell(bash)作为等式的一部分,甚至很难想到Shell。许多Linux发行版附带bash作为默认shell,因为bash是默认的gnushell。在1989年发行的这部电影背后,也有几十年的健康发展。

Bash的前身是bourneshell(sh),它是最初的Unix Shell之一。对于sh程序员来说,一个吸引人的特性是,他们可以完全不变地直接将脚本移植到bash。Bash还为其前身提供了一些增强功能:

  • 命令完成
  • 命令历史记录

通常在线文档会假设您使用的是bash。然而,它并非没有缺点——任何编写过bash脚本的人都可以证明这一点!并不是你做不到什么,而是阅读和写作并不总是特别优雅。

2科恩希尔

Is KornShell the best Linux shell?

KornShell通常被称为ksh,它是一种流行的Linux shell替代品,起源于20世纪80年代的Bell实验室,bash和ksh之间没有太多区别,但两者都有一些小的优势。例如,Ksh有cd old new命令。如果您在/Downloads/foo/bar/one/foobar目录下,需要进入/Downloads/foo/bar/two/foobar,则只需输入:

cd one two

ksh的老手们会通过提到它的脚本优势来宣传它的优越性。其中包括:

  • 更好的循环语法
  • 重复命令的自然方式
  • 关联数组

不像bash,在网上很难找到ksh的帮助。如果要尝试使用ksh,请输入:

sudo apt install kshksh

三。tcsh公司

Tsch shell on Linux

Tcsh可以追溯到Unix的早期。它是C shell(csh)的改进版本,具有以下功能:

  • 可编程命令行完成
  • 命令行编辑
  • 向别名添加参数
  • 轻松访问命令历史记录

你可以通过键入来运行任何命令!n用显示的历史记录中相应的数字替换n。在tcsh works中,通过键入以下内容完成“历史记录”选项卡:

!a<TAB>

这将扩展到以字母“a”开头的最后一个命令。相比之下,在bash中,您必须键入!a:p先看命令,然后!!去执行它。

要尝试tcsh,请键入:

sudo apt install tcshtcsh

Tcsh是基于BSD的系统(如FreeBSD)的默认shell。tcsh的一大卖点是它的脚本语言,它对任何主要使用C语言编程的人都很有用。这使得tcsh对于小型C程序的原型设计非常有用,而不会对您使用的括号之类的东西产生混淆。如果您不断地在C编程和shell脚本之间切换,这个问题就会发生。

4鱼

Use the fish shell on Linux

在Linux的严肃性中,fish的团队在他们的项目中嵌入了幽默感。尽管fish(“友好交互shell”)是在2005年开发的,但在他们的网站上,这句话的标题是“终于,90年代的命令行shell”。除了被吹捧为“辉煌的VGA颜色”之外,还有其他外壳的一些增强功能:

  • 语法无效的命令显示为红色
  • 正确的语法以蓝色显示
  • 自动完成建议
  • 基于计算机上的手册页完成命令。

此功能将新安装软件手册页中的语法添加到自动完成建议中。如果您想更熟悉命令行,fish是一个很好的开始。

要获取鱼类的样本,请键入:

sudo apt install fishfish

5z型外壳

Z Shell on Linux

许多人会认为这是把最好的外壳留到最后,这是完全可以理解的。Zsh与bash和ksh有相似之处,并结合了其中的许多特性以及tcsh。Zsh特点:

  • 可导航自动完成列表
  • 出色的拼写纠正
  • 命令行完成
  • 跨终端共享的历史记录
  • Globbing(文件名的通配符)

zsh中的Globbing非常有用。打字:

vim /u/l/b/a<TAB>

将打开文件:

/usr/local/bin/autoupdate.sh

如果不使用默认配置,Zsh在第一次使用时可能需要一段时间进行配置。要尝试一下,请输入:

sudo apt install zshzsh

哪个linux shell最适合我?

这些选项是可以选择的,这一事实是非常棒的。每一个都是对计算历史的一个一瞥,程序员们决定自己想用自己的方式来做事情。

这些shell之间的实质性差异可以在脚本语法中找到。每个贝壳都有一组特殊的细微差别,将它们彼此分开。从目前的情况来看,bash在市场份额方面占据主导地位,这使得寻求帮助变得更加简单。Bash仅仅是最好的全能者,满足除最高级用户之外的所有用户的需求。

当您决定使用Linux shell时,请确保您熟悉shell脚本的基础知识。

  • 发表于 2021-03-30 18:45
  • 阅读 ( 372 )
  • 分类:IT

你可能感兴趣的文章

5个您从未听说过的优秀linux桌面环境

...的区别在于,右击操作启动的上下文菜单可能是有史以来最好的。 ...

  • 发布于 2021-03-13 01:22
  • 阅读 ( 268 )

什么是shell脚本,为什么要使用它

... 1贝壳的历史 ...

  • 发布于 2021-03-13 04:53
  • 阅读 ( 247 )

ssh和vpn的区别是什么?哪个更安全?

就像走出前门一样,上网也有风险。没有必要把头埋在沙子里,但有时你会想要隐私,期望一定程度的安全也不无道理。 ...

  • 发布于 2021-03-14 04:40
  • 阅读 ( 413 )

顶级网站和书籍,让您成为linux命令行英雄

...做些什么来学习这些命令呢?你可以练习,花很多时间在贝壳里。为了帮助你,接受书籍和网站,这将有助于你在终端磨练你的能力。这里有一些建议。 ...

  • 发布于 2021-03-14 07:04
  • 阅读 ( 244 )

关于python编程最常见的问题

...,或者您知道已经安装了Python,但不确定您现在使用的是哪个版本,只需在操作系统的相关命令行终端中运行以下命令: ...

  • 发布于 2021-03-25 18:32
  • 阅读 ( 440 )

ssh是什么?它代表什么?

... 相关:常见的加密类型和为什么你不应该自己做 ...

  • 发布于 2021-03-28 08:50
  • 阅读 ( 326 )

在linux中,“bash”是什么意思?

...用程序的一个功能。用于更改目录的cd命令是另一个非常常见的Bash命令。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 451 )

如何使用chsh在linux上更改默认shell

...之前已经介绍了不同的Linux shell,但下面简要介绍一下最常见的: bash:Bourne shell在许多发行版中都是默认的。 rbash:这个受限的bashshell为其中运行的人员或脚本提供了最少的功能。 ash:Almquist shell是bash的较轻版本。 破折号:Debian...

  • 发布于 2021-04-02 06:04
  • 阅读 ( 337 )

linux下如何使用which命令

...。如果您的计算机上有同一程序的不同版本,您可以使用哪个来确定shell将使用哪个版本。 二进制文件和路径 当您试图从终端窗口运行程序或命令时,shell(通常是现代发行版上的Bash)必须找到该命令并启动它。有些命令(如...

  • 发布于 2021-04-02 20:07
  • 阅读 ( 170 )

windows10的新bashshell所能做的一切

...可以同时运行多个不同的Linux环境。 如果你不确定要安装哪个,我们推荐Ubuntu。但是,如果您需要一个特定的Linux发行版,那么您可能正在测试将在运行suselinux企业服务器或Debian的服务器上运行的软件,或者您需要Kali-Linux中的安...

  • 发布于 2021-04-06 14:44
  • 阅读 ( 264 )
biufbbeuxu505
biufbbeuxu505

0 篇文章

相关推荐