首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux中你分得清什么是终端,控制台,外壳程序和内壳吗?

作为新手,在学习Linux时,我们对术语(如Terminal,Console,Shell和Kernel)的实际含义感到困惑。有时我们会混淆它们的用法,这在技术上是不正确的,因此清楚地掌握每个单词的实际含义以及应在何处使用它们非常重要。

1.终端:

对于具有Linux OS的用户,当我们单击以打开名称为“ Terminal”的图标时,将打开一个窗口,因此简单来说,矩形框或窗口称为终端。随着现代计算机的发明,我们有了名为“ Terminal”的应用程序,只需单击即可打开它,但是在80年代,它以前被称为“ Terminal Emulators”,它不是软件程序而是硬件,是一种常规输入输出设备,由键盘和监视器组成。终端的目的不是要处理信息(像典型的计算机一样),而是将命令发送到另一个系统。该终端是一个程序,可为用户提供简单的命令行界面,并执行以下两个任务:

以命令的形式接受用户的输入

在屏幕上显示输出

我们可以说终端是一个愚蠢的东西,因为它不知道如何处理输入,因此它需要另一个程序来处理它,并且在大多数情况下,它是外壳程序。

2.控制台:

对于Windows OS,“控制台”执行与终端相同的操作,因此对于Windows OS,我们可以说控制台是终端的别名。但是控制台不是直接打开的,而是我们需要通过命令提示符打开,然后在屏幕上打开控制台或矩形框。

3.外壳

在终端上编写命令后,当我们按Enter键时,终端会将这些命令传递给另一个程序,以弄清楚用户想要做什么,并且在大多数情况下,该程序是Shell,它构成了外壳的外层。 Linux OS,执行以下功能:

1.解释最终用户给出的命令

2.检查命令的语法,然后检查命令是否被正确使用。

3.如果一切正确,则Shell会将命令转换为内核可理解的形式,并将其传递给内核。

否则,它返回一条错误消息? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

4.?$提示符出现在终端上,等待下一个命令,而不管先前的命令是否正确。

Shell是最终用户与内核之间的中介者或接口。我们可以选择各种外壳程序,分别是TCSH,KSH,Seashell,Bash等,但是大多数Linux系统和Mac上的默认程序是GNU Bash。

4.内核

它是一个计算机程序,构成Shell之后的OS的最内部组件。只要外壳程序将用户的命令转换为内核可理解的形式,内核便会借助其2个组件(分别是与应用程序软件和设备硬件交互的OS库和设备驱动程序)负责执行命令。以下是从OS到硬件的C程序执行流的示例:

应用程序软件:编写一个C程序,该程序从键盘获取输入 ??操作系统:Shell:?执行程序的命令由最终用户给出内核:?从外壳程序获取解释的命令操作系统库:?r?ead()函数,由于scanf()调用而被调用。 ? ? ?键盘设备驱动程序:被调用硬件:用户在键盘上输入输入

通过上表,很明显,内核充当了应用程序软件和硬件之间的接口。内存分配和处理器分配也将由内核处理。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210103A0BB0100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com