![终端到底是什么?什么是贝壳?](https://linux22.com/image/8721/%E7%BB%88%E7%AB%AF%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E4%BB%80%E4%B9%88%E6%98%AF%E8%B4%9D%E5%A3%B3%EF%BC%9F%20.png)
我了解 Linux 终端。我还可以通过终端发出许多高级命令。但有一个简单的概念我却不清楚。
什么是终端以及它如何工作?
我了解硬件,包括CPU、RAM、硬盘等。
我了解内核,它基本上是操作系统的核心。
我知道位于内核顶部的软件。
我了解用户。
我知道用户使用终端或 GUI 向软件发出指令。(或内核?)
现在请解释一下终端和外壳的这些概念。
最好使用图形解释和简单的非技术性词语。
答案1
什么是贝壳?
简而言之,shell 是一种从键盘获取命令并将其传递给操作系统的软件。
那么 konsole、xterm 或 gnome-terminals 是 shell 吗?
不,它们被称为终端模拟器。他们打开一个 GUI 来与 shell 交互。你可以将它们视为前端到贝壳。
不同的贝壳
有不同的 shell,它们或多或少相同,但功能和语法不同。
伯恩外壳 所有 UNIX 系统上可用的最基本的 shell
科恩壳牌 基于 Bourne shell 并进行了增强
C壳 语法与C语言类似
重击外壳 Bourne Again Shell 结合了 Korn Shell 和 C Shell 的优点。大多数 Linux 发行版上的默认设置。
tcsh 类似于C shell
答案2
shell 是在终端中运行的程序,它读取您键入的命令并执行它们。
如今,Unix 和类 Unix 操作系统提供了几乎相同的 shell 集之间的选择,因为这些 shell 早于大多数操作系统。
如需进一步阅读,我建议Linux 中 shell 的演变 (IBM)
根据对另一个答案的评论进行编辑以添加有关外壳和终端的信息:
A终端是与人类交互的硬件外围设备,它由对用户的输出和来自用户的输入组成,换句话说就是屏幕和键盘,见链接。GUI 向您展示的是虚拟的终端。 shell 是命令行界面软件,通常是您在终端上看到的,但它不一定是 shell。您可以启动一个虚拟终端并让它vi
直接运行,例如,不涉及 shell。