Linux 中的 Shell 有哪些不同类型?

外壳是任何Linux用户会话的重要组成部分。我们在Linux中提供了几种不同类型的外壳来完成任务。每个外壳都有独特的属性。因此,在许多情况下,对于特定需求而言,一种外壳比另一种更好。

这使得我们必须了解Linux中可用的不同类型的外壳。在本教程中,我们将讨论什么是外壳以及为什么它很重要。

此外,我们还将探索Linux中不同类型的外壳,以了解它们的功能和属性。

什么是外壳,我们为什么需要它们?

每当用户登录系统或打开控制台窗口时,内核都会运行一个新的外壳实例。内核是任何操作系统的核心。

它负责过程的控制、管理和执行,并确保系统资源的适当利用。

外壳是一个在用户和内核之间充当接口的程序。它允许用户向内核发出命令并从内核接收响应。通过外壳,我们可以在内核上执行程序和实用程序。因此,就其核心而言,外壳是用于在我们的系统上执行其他程序的程序。

能够与内核交互使外壳成为一个强大的工具。如果没有与内核交互的能力,用户就无法访问其计算机操作系统提供的实用程序。

让我们了解可用于Linux环境的主要外壳程序。

Linux下不同类型的外壳

如果您现在了解了什么是内核、什么是外壳以及为什么外壳对Linux系统如此重要,让我们继续学习可用的不同类型的外壳。

这些外壳中的每一个都具有使它们在特定类型的使用上比其他外壳更高效的属性。因此,让我们讨论一下Linux中不同类型的外壳以及它们的属性和特性。

1.bourne Shell(Sh)]

由Steve Bourne在AT&T贝尔实验室开发,Bourne shell被认为是有史以来第一个UNIX shell。它被表示为sh。它因其紧凑的特性和高速的操作而受到欢迎。

这就是它成为Solaris OS的缺省外壳的原因。它还用作所有Solaris系统管理脚本的缺省外壳。开始阅读有关外壳脚本here.

然而,Bourne外壳有一些重大缺陷。

  • 它没有处理逻辑和算术运算的内置功能。
  • 此外,与Linux中的大多数不同类型的外壳不同,Bourne外壳无法调用以前使用过的命令。
  • 它也缺乏全面的功能,无法提供适当的交互使用。

Bourne外壳的完整路径名是/bin/sh和/sbin/sh。默认情况下,它对根用户使用提示符_# ,对非根用户使用提示符$_。

2.GNU Bourne-Again外壳(Bash)

更广为人知的是,GNU Bourne-Again外壳被称为Bash外壳,其设计目的是与Bourne外壳兼容。它结合了Linux中不同类型的外壳的有用特性,例如Korn外壳和C外壳。

它允许我们自动调用以前使用的命令,并在箭头键的帮助下编辑它们,这与Bourne shell不同。

GNU Bourne-Again外壳的完整路径名是/bin/bash。默认情况下,它对根用户使用Prompt_bash-VersionNumber# ,对非根用户使用_bash-VersionNumber$

3.C外壳(Csh)

C壳是由比尔·喜悦在加州大学创造的。它被表示为CSH。它被开发为包括有用的编程特性,如对算术运算的内置支持和类似于C编程语言的语法。

此外,它还包含了Linux中不同类型的外壳(如Bourne外壳)所缺少的命令历史。C语言外壳的另一个突出特征是别名

C外壳的完整路径名是/bin/csh。默认情况下,它对根用户使用Prompt_Hostname# ,对非根用户使用_Hostname%

4.Korn Shell(Ksh)

Korn shell由David Korn在AT&T贝尔实验室开发,以改进Bourne shell。它被表示为ksh。Korn shell本质上是Bourne shell的超集。

除了支持Bourne外壳支持的所有功能外,它还为用户提供了新的功能。它允许内置对算术运算的支持,同时提供类似于C外壳的交互功能。

Korn外壳运行为Bourne外壳制作的脚本,同时提供类似于C编程语言的字符串、数组和函数操作。它还支持为C外壳编写的脚本。此外,它比Linux中的大多数不同类型的外壳都要快,包括C外壳。

Korn外壳的完整路径名是/bin/ksh。默认情况下,它对根用户使用提示符_# ,对非根用户使用提示符$_。

5.Z外壳(Zsh)

ZShell或zsh是一个带有大量定制改进的sh外壳扩展。如果您想要一个拥有更多所有功能的现代外壳,zsh外壳就是您想要的。

z外壳的一些值得注意的功能包括:

  • 根据给定条件生成文件名
  • 插件和主题支持
  • 内置函数索引
  • 命令完成
  • 还有更多……

让我们在下表中总结一下我们在本教程中讨论的Linux中的不同外壳。

外壳
Bourne外壳(Sh)
GNU Bourne-Again外壳(Bash)
C外壳(Csh)
Korn shell(Ksh)
Z外壳(Zsh)

总结

外壳即使不是Linux用户可用的最强大的工具,也是其中之一。没有外壳,人们几乎不可能使用安装在其系统上的内核所提供的特性和功能。

虽然我们只讨论了Linux中最常用的外壳类型,但还有许多其他类型的外壳值得研究。

我们希望本教程能够帮助您理解外壳的概念,以及Linux中不同类型的外壳的属性。如果您有任何反馈、疑问或建议,请随时在下面的评论中与我们联系。

Published At
Categories with 技术
Tagged with
comments powered by Disqus