可能很多接触计算的小朋友、都或多或少的看到过这个单词,就是Shell,对于我来说,第一次看到这个单词是在学安卓系统应用框架层的时候,接触的,当时是说,通过ADB指令(ADB的意思是安卓调试桥)进入Shell环境。当时我的理解就是和windows进入DOS命令行模式差不多。其实那时候用的一些指令确实就是今天要说的这个Shell的指令。为什么安卓也用到了shell呢?这是因为安卓系统的最底层其实就是linux内核层。对于安卓的系统分层我就不多做赘述(四层架构)。那么,到底什么是Shell的准确定义呢?看下面:
1、Shell是什么?
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求,以便运行程序的界面系统级程序,用户可以用Shiell来启动、挂起、停止甚至是编写一些程序。
Shell不仅仅是一个解释器操作界面,还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言(和php类似),在Shell中可以直接调用Linux系统命令。
2、Shell分类
3、Linux支持哪些Shell呢?
在Linux系统中有这样一个文件目录
既然支持这么多种Shell那么我们是不是可以切换使用呢?当然是可以的
(bash Shell和sh Shell 在语法上是兼容的)