分号
; # 可以使多个命令依次执行
ls ; pwd ; cd / ; ls ; pwd
后台标识符
& 使命令在后台进行
sleep
sleep # 使终端睡眠指定时间(默认:秒)
参数:
时间:指定要暂停时间的长度, 包括如下:
2s: 2秒
2m: 2分钟
2h: 2小时
2d: 2天
infinity: 永久
sleep 5 # 使终端睡眠五秒
可以使用jobs 命令
查看
jobs # 显示作业的状态。
sleep 100& 延迟100秒,放在后台执行
jobs -l 显示状态
coproc 协程
Liunx协程处理命令。协程可以同时做两件事。在后台生成一个子shell,并在子shell中执行命令。
coproc fuck_1 { sleep 3; tar …; } &
在后台生成一个子shell —— fuck_1,在fuck_1中执行sleep和tar命令
外部命令与内建命令

ps -f
有两个进程 bash , ps -f
- ps -f的作用是查看其他进程
- 但是在bash内部是无法观看到所有进程的
- 因此需要脱离bash内部进入上帝视角
- ps -f 是由 bash 衍生(forking)创建一个新的进程
外部命令
- 基于bash衍生出一个新的进程
- 外部命令是在bash之外额外安装的,通常放在
/bin,/usr/bin,/sbin,/usr/sbin ...…
- 例如:
ps , cat …
非外部命令(内建命令)
- 这些命令由shell程序识别并在shell程序内部完成运行
- 例如:
cd , ls , echo …
可以通过type命令查看指定命令是否为外部命令
history
history 命令:列出曾用过的命令
- 显示历史列表。
- 操作历史列表。
可以使用参数n查看最近使用的n条命令
history 5 # 查看最近使用的5条命令
我想执行第1442行的命令,但我不想复制粘贴
我就可以使用 !1442
来执行第1442行命令
!! 执行上一条命令
所有使用过的命令保存在了 .bash_history 文件中(~/ 目录下)
可以使用查看文件的命令( cat , less , more )进行查看