cli 控制字符是终端操作中非常实用, 也极其频繁使用的快捷键; 使用得好可以加快敲命令的速度, 提升敲命令的准确性, 为工作带来极大便利; 同时, 这也是我们对 linux 爱不释手, 难以回到 windows 的原因之一;
另外, 很多 cli 控制字符本质上是向 linux 或进程发送特定的信号, 关于 linux 信号的介绍, 本站有另外一篇文章: linux signals 总体认识;
本文总结一些常用的 cli 控制字符的使用及技巧;
简单的 cli 控制字符
1 | # 发送 SIGINT 中断信号 |
与其他命令组合的 cli 控制字符
1 | # 发送 SIGTSTP 信号, 挂起前台进程 |
此时该前台进程被挂起, 操作系统将不会调度任何 cpu time 给此进程;
接下来可以有以下配套操作:1
2
3
4
5
6
7
8
9
10
11
12# 查看后台任务
> jobs
[1]+ Stopped sudo vim /etc/profile
# 查看后台任务的 pid
jobs -p
# 将后台作业 1 恢复到前台
fg 1
fg %1
# 将后台作业 1 恢复到后台
bg 1
bg %1
要杀死被挂起的后台任务有一些麻烦, 因为该任务处于 suspend 状态, 无法主动响应 SIGTERM, SIGINT 等相对柔和的信号, 但可以被 SIGKILL 这种强力的信号直接杀死:1
2kill -9 %1
kill -9 `jobs -p`
还有一种比较讨巧的方法是结合 fg/bg 等唤醒后台任务的命令:1
2
3
4
5# 当任务被唤醒, 将接收到 SIGTERM 信号并终止
kill %1 && fg
kill %1 && bg
kill `jobs -p` && bg
kill `jobs -p` && fg
控制字符的管理与设置
1 | # 打印所有控制字符的设置 (--all) |