5.1shell的类型
查看各用户使用的shell类型
cat /etc/passwd
使用进程 列表 :
(pwd;la;cd /etc ;cd - ) # 创建一个子shell执行括号内所有命令
pwd;la;cd /etc ;cd - ; echo $BASH_SUBSHELL)
# BASH_SUBSHELL 若有子shell 则返回数量 反之返回0
5.2shell后台模式
sleep 10 #进程挂起10s
sleep 3000& # 进程在后台挂起
jobs #查看在后台运行的进程
协程
协程在后台创建子shell,并在该shell中执行命令
coproc sleep 100
coproc My_Job { sleep 100; } #为协程命名 注意括号两旁的空格
5.3 shell内建命令
外部命令
有时被称为文件系统命令,是存在于bash shell之外的程序,不是shell的一部分,通常存在于
/bin /usr/bin /sbin /usr/sbin 中。
可以通过以下方式定位命令位置:
which ps
type -a -p ps
作为外部命令,ps在执行时会创建子进程。
内建命令
type -a ps #显示命令所有的实现 外部和内建
which cd #只显示外部命令
# 如图 pwd有内建和外部命令两种方式
Tip: HISTSIZE指定了history的数目;
bash命令历史记录先被存放于内存,在shell退出时才被写入历史文件
.bash_history只有在终端打开时才会被读取,所以同时运行多个终端时,无法获取其他终端历史