shell 命令以及运行原理

 2023-05-11     1460

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。


而是通过kernel的 外壳程序,也就是所谓的 shell,来与kernel沟通。


shell 是什么?


shell 是包裹在操作系统外部的软件层,所以形象的称之为 外壳程序。


而从技术角度,Shell的最简单定义是:命令行解释器(command Interpreter)主要包含:


将使用者的命令翻译给核心(kernel)处理。

同时,将核心(kernel)的处理结果翻译给使用者。

以上说明,我们可以用这幅图来理解:

shell 命令以及运行原理(图1)

我们理解 shell 分为两个层面,理性理解 和 感性理解。


理性理解:


对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。


shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。


如果shell 接受到非法指令,可能会直接拦截,不会让操作系统执行指令,从而达到保护操作系统的目的。


为了防止用户的非法指令导致 shell 自身崩溃,shell 一般都不会去执行对应的指令,而是让子进程去执行。

一键成为代理,携手向未来!

立即购买