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 進程中有效