Shell是一种有特殊功能的程序,可以把它理解为是用户与内核进行交互才做的一个接口。我们知道,内核是Linux的心脏,内核在开机的时候就被调入并留在内存中。而其他的应用程序,只在需要使用的时候才被调入内存中。Shell就是一种应用程序,它是在用户登录系统的时候,被调入内存执行的。它连接了用户与内核,用户输入的命令,需要Shell传送到内核进行执行才生效,并将结果返回给用户。Shell内封装了很多能够与内核通信的命令,用户就是使用这些命令来管理Linux的了。
具体的关系如下所示:
Shell的概念涉及到了操作系统的许多方面的知识,在这里进行一个简介。