Shell的一些概念
1、Shell不单单是一个在命令行(CLI)中运行的复杂交互式程序。
2、查看自己运行的是何种shell
/bin底下又各种shell类型,有bash shell、tesh shell,其是可执行程序
一些发行版系统,例如CentOS将/bin/sh软连接到系统默认设置的/bin/bash,如图:
2、父shell与子shell
父shell:用于登录某个虚拟控制终端或在GUI中运行终端仿真器时所启动的默认交互shell,是一个父shell,例如父shell提供CLI提示符,然后等待命令输入。
子shell:在cli提示符后输入/bin/bash命令或者其他等效的命令bash命令时,会创建一个新的shell程序。这个shell就被称为子shell,子shell也由CLI,还可以等待命令创建子shell。
实验:输入/bin/bash 用ps ux 查看shell 进程的id和pid信息。
从图中我们可以看到,在输入bash命令后,使用ps -f查看,会由两个bash命令在运行,第一个bash为父shell其PID为15788,第二个bash 为子shell其PPID为其父shell的PID,命令ps -f 由子shell产生。
如图: