shell类型


shell目录: /bin
登录shell : cat /etc/passwd

shell的父子关系


bash进入子shell, exit退出当前shell
ps -forest显示子shell的嵌套结构

进程列表


命令列表 pwd; ls; 一次执行多个命令
进程列表 (pwd; ls;) 生成一个子shell来执行对应的命令
echo $BASH_SUBSHELL 查看是否生成子shell

使用多个括号会生成嵌套的子shell, BASH_SUBSHELL将会返回嵌套的层级 (pwd; (ls;) )

后台模式


命令置入后台模式 : sleep 1000&

查看后台程序: jobs
jobs -l 查看后台作业

将进程列表置入后台

(sleep2; echo $BASH_SUBSHELL; sleep 2)&

协程

在后台生成子shell, 并在该shell中执行命令.
coproc command 协程将命令植入后台模式
协程默认名字为COPROC

coproc My_Job { sleep 10; } 给进程起名

shell的内建命令


内建命令即shell内部的命令, 外部命令

which ps 查看命令的安装位置
type -a command 查看命令是内建命令还是外部命令

当外部命令执行时会(fork)创建一个子进程.

注意,有的命令既有内建命令,也有外部命令,,默认使用内建命令执行, 可以使用完整命令通过外部命令执行.

history命令: 可以跟踪使用过的命令.
HISTSIZE记录保存的命令数量
!! 可以执行上一条命令
.bash_history 记录命令,
history -a

命令别名
alias -p
定义别名 alias li=’ls -li’