计算机分为几个层次:程序员
最底层的叫作硬件*(Hardware),如磁盘,CPU,内存等等shell
其次是虚拟层,把全部硬件的东西虚拟成用户能够直接访问的文件或图标。通常在GLI咱们看到的是文件,在GUI看到的是图标。编程
而程序员就在虚拟层上为用户建立一套操做系统,仅仅是操做系统的内核,而不是整个操做系统。仅仅也就具有几个简单的功能,如:对底层硬件的管理(磁盘,CPU,内存)编程语言
Shell是系统的用户界面,提供了用户与内核进行交互操做的一种接口。它接收用户输入的命令并把它送入内核去执行。ide
实际上Shell是一个命令解释器,它解释由用户输入的命令而且把它们送到内核。不只如此,Shell有本身的编程语言用于对命令的编辑,它容许用户编写由shell命令组成的程序。Shell编程语言具备普通编程语言的不少特色,好比它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其余应用程序具备一样的效果。操作系统
简单点说就是Linux的一种程序而已,用户想要对系统就行操做。就必须通过shell,shell就像是一层外壳,把应用程序和内核给保护起来,同时又向外提供接口。方便用户操做。接口