什么是shell?
个人觉得,接触linux的人,或多或少接触过shell名词,但是如果要问到shell具体是个什么东西,相信很多人,比如我,说不出一个子丑寅卯来.
这一篇blog的目的就是好好学习一下什么是bash shell.
我们先看一下维基上对shell的介绍.
看上面的介绍,我们可以很简单的就能够理解命令行界面,但是什么是壳层呢?
注意看被红框圈起来的地方,shell是指操作系统中,提供访问内核服务的程序.
我们此处说的shell就是这个壳层,根据上文壳层的定义,我们可以理解为只要能够访问内核服务的都是shell.
比如.我们常用的vi命令,emacs,chmod等等.
我们看一下下图:
这张图就是我理解的工作流程.
用户操作应用程序的时候,应用程序将用户的操作转换成一个个指令,然后内核接收这些指令并调用硬件进行处理.
就和种类繁多的语种一样,shell也可以分为很多个版本.