计算机分为几个层次:
最底层的叫做硬件*(Hardware),如磁盘,cpu,内存等等
其次是虚拟层,把所有硬件的东西虚拟成用户可以直接访问的文件或图标。一般在GLI我们看到的是文件,在GUI看到的是图标。
而程序员就在虚拟层上为用户创建一套操作系统,仅仅是操作系统的内核,而不是整个操作系统。仅仅也就具备几个简单的功能,如:对底层硬件的管理(磁盘,cpu,内存)
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
简单点说就是Linux的一种程序而已,用户想要对系统就行操作。就必须经过shell,shell就像是一层外壳,把应用程序和内核给保护起来,同时又向外提供接口。方便用户操作。
原文链接:https://www.f2er.com/bash/389945.html