在我们日常使用的计算机内部当中,系统内核Kernel才是控制计算机的主要模块。当然在我们用电脑的时候,是不可能接触到这个系统内核Kernel的,因此需要一个“中间件”将用户与系统内核Kernel连接起来,这个“中间件”在Linux系统中就叫做Shell。简单的说这就是shell,但是到底什么才是shell?有哪些分类?下面有详细介绍。
1、什么是shell?
Linux系统的shell介于系统内核与用户之间,相当于系统与用户间的桥梁,负责解析输入的命令和输出的二进制码。另外,shell也属于一种程序设计语言,为用户提供操作机器的交互接口,使用户输入的命令能够传送到内核执行并把处理结果反馈回来。一句话解释Shell的概念:shell就是在操作系统和应用程序之间的一个命令翻译工具。
2、shell的分类有哪些?
1)图形界面shell,桌面就是一个图形界面shell。
2)命令行shell,如:linux系统下的bash。
3、Shell连接用户与内核的真相
Shell程序本身的功能是很弱的,我们运行一个命令,Shell去调用内核暴露出来的接口,也就是调用一个个函数,调用函数即是使用内核。比如我们在命令行执行命令cat xxx.log命令来查日志文件内容。然而,这个文件在哪个位置,有多少个数据块等等这些细节,shell都是不知道的,它只能去调用内核提供的read或open函数,告诉内核我需要这样做,你帮我去做。
4、Shell 是一种脚本语言
有些编程语言可以一边编译一边执行,我们称之为脚本语言(Script)。脚本语言是使用灵活、部署容易、跨平台性好。Shell 就是一种脚本语言,我们编写完源码后不用编译,直接运行源码即可。Shell 虽然没有其他编程语言那么强大,如C++、Python,但也支持基本的编程元素。
综上所述,什么是shell以及有哪些分类的全部内容,想了解更多关于shell的信息,请继续关注。