Shell是用户和Linux操作系统之间的接口,充当了用户与内核之间的桥梁。它是命令语言、命令解释程序及程序设计语言的统称。在Linux中有多种shell,其中最常用的是Bash。
linux执行shell命令其基本工作原理如下:系统启动后,核心为每个终端用户建立一个进程去执行Shell解释程序。这个过程主要包括以下步骤:首先读取用户由键盘输入的命令行;然后分析命令,以命令名作为文件名,并将其他参数改造为系统调用execve所需要的形式;接着终端进程调用fork创建一个子进程;最后,终端进程本身用系统调用wait4来等待子进程完成(如果是后台命令,则不等待)。