发布于 2026-01-05 6 阅读
0

外壳和终端的区别

外壳和终端的区别

当我们使用文本命令向计算机发出指令以执行特定任务时,我们称之为使用命令行界面。使用命令行界面时,我们使用文本命令来运行程序,而不是使用图形用户界面。命令行是一种与计算机交互的不同方式。在 Linux 系统中,当我们提到命令行界面时,通常指的是 shell,而且在大多数情况下指的是 bash shell。但通常情况下,我们会使用一个程序(称为终端模拟器)来与 shell 交互。shell 和终端虽然彼此不同,但经常被混用。

了解贝壳

在本系列的前一篇文章中,我们讨论了什么是操作系统以及为什么Linux操作系统被称为发行版。我们知道内核是操作系统中最关键的组件。内核识别计算机上的所有物理硬件,并使各个组件能够相互通信。从根本上说,内核接收传递给它的指令,并将其交给硬件进行处理。

shell 直接与内核交互。

用户并不直接与内核交互。用户和内核之间存在一个名为 shell 的程序,它负责接收用户输入并将其传递给内核。简而言之,shell 是一个接收键盘命令并将其交给内核执行的程序。它充当用户和内核之间的接口。

Bash Shell

大多数 Linux 发行版都自带一个名为 bash 的 shell。bash 最初是GNU 项目的shell,其灵感来源于 Steve Bourne 编写的原始 Unix shell 程序 sh,并旨在模仿 sh 的功能。由于 bash 深受 Steve Bourne 编写的 sh 的影响,GNU 项目的开发者决定将其命名为 bash,它是 Bourne Again Shell 的缩写。

Linux 内核可以使用许多替代 bash shell 的 shell,例如 ZSH(ZShell)、Fish、KSH(Korn Shell)等。不同的 shell 程序提供不同的功能,但基本命令以及与 shell 交互的方式保持不变。

终端(模拟器)

不同的 Linux 发行版都预装了桌面环境,例如 Ubuntu。Ubuntu 的桌面环境是 GNOME(GNU 网络对象模型环境)的修改版。GNOME 是一套面向 Linux 操作系统用户的图形用户界面 (GUI) 和桌面应用程序集。使用像 GNOME 这样的图形用户界面时,你需要一个能够与 shell 交互并传递内核可执行命令的软件。这个程序被称为模拟器,因为它会在你的桌面界面上模拟 shell 环境。

Ubuntu桌面环境中的终端模拟器

终端软件就是一个典型的模拟器。Ubuntu 桌面环境默认自带终端,可用于访问 shell。市面上有很多模拟器,终端只是其中之一。需要注意的是,模拟器本身并不是 shell。它只是一款软件,使你能够在桌面环境中模拟 shell 并与之通信。

接下来你可以做什么 🙏😊

如果你喜欢这篇文章,不妨订阅我的 YouTube 频道 Cloudaffle,我会持续发布深入的教程和各种面向软件开发者的寓教于乐的内容。你也可以在 Hashnode 上关注我,我的用户名是 @Cloudaffle 如果你喜欢这篇文章,请点个赞,这会激励我继续创作 👍

文章来源:https://dev.to/manikbajaj/the-difference- Between-the-shell-and-the-terminal-27ah