1.1 进程列表
- 可以在一行,指定依次运行的一系列命令,如
pwd; ls
。但是这不是进程列表。
- 进程列表需要用括号包裹起来,如
(pwd; ls)
,进程列表是创建子shell进行运行。
$BASH_SUBSHELL
,返回0,则表示没有创建子shell。
1.2 后台模式
- 在命令的末尾加入
&
sleep 10 &
,结果是[2] 47073
,当括号内的2,表示有两个后台任务,47073
是进程ID。
- 原理
- Shell会使用
fork()
系统调用创建一个子进程,然后后台执行任务
- 后台运行不一定创建了子shell
- 查看后台作业
jobs
- 将后台作业切换到前台
fg %作业号
- 把前台作业放到后台
- 杀死后台任务
kill %作业号
- 子shell和后台运行的区别
- 子shell会阻塞父进程,后台运行不会
- 子shell拥有自己的环境,后台运行共享Shell环境(除非明确在子shell中运行)。
- 子shell和后台运行都要创建子进程。
- 可以将进程列表放入后台
(sleep 2; pwd) &
1.3外部命令
- 外部命令就是bash shell之外的程序。当执行外部命令时,会创建出一个子进程。例如ps,使用
ps -f
可以看见ps这条命令同样创建了一个进程。
- 内建命令速度会快很多。
1.4 history命令
- 作用:跟踪使用过的命令
- 常用方式
!!
执行刚刚执行的命令
- 一个环境变量
HISTSIZE
,保存最多命令的数量
- 历史命令保存在
~/.bash_history
中,先存放在内存,当shell退出时,才被写入。
1.5 alias命令
- 作用:为常用的命令创建另一个名称。
alias -p
查看当前可用的别名
alias p='pwd'
,创建别名
- 一个别名仅在被定义的shell中才有效。
posted @
2024-11-20 16:24
ouyangxx
阅读(
97)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了