1.shell基础
Shell是Linux操作系统内核的外壳,它为用户提供使用操作系统的命令接口。
用户在提示符下输入的每个命令都由shell先解释然后发给Linux内核,所以Linux中的命令通称为shell命令。
通常我们使用shell来使用Linux操作系统。Linux系统的shell是命令语言、命令解释程序及程序设计语言的统称。
如果把Linux内核想象成为一个球体的中心,shell就是围绕内核的外层的,如图4.1。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。
shell是一个命令语言解释器,它拥有自己内建的shell命令,shell也可以由系统中其他程序调用。
有些命令,如改变目录命令cd,包含在shell内部。 有些命令,如拷贝命令cp,存放在文件系统中某个目录下的单独程序。 用户不必关心命令是建立在shell内部还是一个单独的程序。 shell设计者须知道哪些命令作为内部命令,哪些为外部命令。
Shell自身是一个解释型的程序设计程序语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,在提示符下能键入的任何命令都能放到一个可执行的shell程序中。
在shell程序中还可以执行一些批处理命令,这些批处理命令在Linux中叫做外壳脚本(shell script)。
不同外壳的脚本会有一些差异,写给A外壳的脚本一般不能在B外壳中执行。Linux系统最常用的外壳有Bourne外壳和C外壳。