shell 的父子关系
在终端仿真器中 输入等效的bash命令时会创建一个新的 子shell
bash shell 在运行的时候就是一个进程
ps -- forest 命令 可以列出 shell 嵌套结构
进程列表
可以在一行中依次运行一系列命令,只要在命令中间加上 分号(;)
命令列表想要成为进程列表 要将命令包含在 括号中
另一种命令分组语法: { command; }并不会创建子shell
echo $BASH_SUBSHELL 如果返回0 说明没有子shell
后台模式
在命令末尾 加 & 可将命令置入后台模式
sleep 毫秒数 暂停进程
jobs 可以显示所有后台模式中的进程
参数 -l
协程
在后台生成一个子shell 并在shell 中执行命令
coproc命令 参数 为命令
可以用扩展语法给进程起名字 coproc my_job { sleep 10; }
理解shell的内建命令
外部命令程序通常位于 /bin /usr/bin /sbin /us/sbin 中
which 和type 可以 显示 命令的路径
执行外部命令时 会创建一个子进程
内建命令
内建命令不需要子进程来执行
type 可以显示命令是否内建 which只显示外部命令文件
history命令
通常保存 近1000条命令
输入 ! ! 回车 可 以再执行一边上一条命令
当shell 退出时 命令 才会被写入 历史记录中
执行历史记录中任一条命令 用 ! 编号 即可
命令别名
alias 是内建命令 别名只在被定义 的shell 进程中有效