您的位置  > 互联网

Shell与内核及用户间的关系是怎样的?

shell是具有特殊功能的程序,位于用户和内核之间,为用户与内核交互提供接口。 也就是说,Shell可以接收用户输入的命令,并将命令发送给内核执行。 内核收到用户的命令后,调度硬件资源完成操作,然后将结果返回给用户。 Shell、内核、用户之间的关系如图所示。

Shell、内核和用户之间的关系。 Shell还提供了解释功能来帮助用户与内核交互:当传递命令时,Shell将命令解释为二进制形式; 当返回结果时,Shell 将结果解释为字符形式,因此 Shell 又称为命令解释器。 Shell 有一个内置的命令集。 第2章介绍的各种命令实际上都是Shell命令集中的命令。

Shell 也是一种解释性编程语言。 用Shell语言编写的程序称为Shell脚本。 Shell脚本支持定义变量和数组,可以使用一些高级语言中应用的控制结构(如选择结构、循环结构等),也支持Shell命令。

Shell编程语言简单易学,一旦掌握,它将成为最强大的工具。 Shell提供了两种方式实现用户与内核之间的通信:交互式通信(Shell)和非交互式通信(Shell)。 交互式通信是指用户输入命令,Shell解释并执行该命令。 这样可以立即响应用户输入的命令; 非交互式通信是指按照Shell语言规范编写程序并保存为文件,需要时执行Shell。 文件,一次执行文件中的所有命令。