退出正在运行的前台命令
-
强制终止当前命令
- 按
Ctrl + C:立即终止正在终端运行的命令(如ping、top或卡死的脚本)。 - 原理:发送
SIGINT信号,请求程序中断。
- 按
-
暂停命令并放入后台
- 按
Ctrl + Z:暂停程序并保留在后台(如vim或python脚本)。 - 恢复命令:
fg:恢复到前台运行bg:在后台继续运行
- 终止暂停的程序:
- 输入
jobs查看任务编号(如[1]) - 执行
kill %1(数字为任务编号)
- 输入
- 按
退出终端会话
-
安全退出当前Shell
- 输入
exit或logout:关闭当前终端窗口或SSH连接。 - 快捷键
Ctrl + D:发送 EOF(文件结束符),效果等同于exit。 - 注意:若
Ctrl + D无效(如Shell被嵌套),需多次输入或改用exit。
- 输入
-
退出远程连接
- SSH会话:直接输入
exit或Ctrl + D断开连接。 tmux/screen会话:tmux:按Ctrl + B后输入d脱离会话;彻底退出输入exitscreen:按Ctrl + A后按D脱离;输入exit终止会话
- SSH会话:直接输入
退出常见程序
文本编辑器
-
Vim/Vi:
- 保存退出:按
Esc后输入:wq或:x - 不保存退出:按
Esc后输入:q! - 强制退出(崩溃时):
Ctrl + \或Ctrl + Z+kill %1
- 保存退出:按
-
Nano:
- 按
Ctrl + X→ 输入Y保存或N放弃 → 确认文件名
- 按
系统监控工具
top/htop:- 按
q直接退出。
- 按
less/more(查看文件):- 按
q退出浏览模式。
- 按
手册页(Man Pages)
- 按
q退出帮助文档。
强制终止无响应程序
-
通过进程ID终止
- 查找进程ID:
ps aux | grep 程序名(如ps aux | grep firefox) - 终止进程:
kill -9 PID(-9对应SIGKILL信号,强制结束)
- 查找进程ID:
-
批量终止同名程序
- 使用
pkill:pkill -f 程序名(如pkill -f chrome) - 使用
killall:killall 程序名
- 使用
特殊情况处理
-
终止后台运行的服务:
- 系统服务:
sudo systemctl stop 服务名(如sudo systemctl stop nginx) - 自定义脚本:先用
ps aux查找PID,再用kill终止。
- 系统服务:
-
退出root权限:
- 从root用户返回普通用户:输入
exit或Ctrl + D。
- 从root用户返回普通用户:输入
-
Shell脚本中的退出:
- 脚本中插入
exit 0(成功)或exit 1(失败)控制退出状态。
- 脚本中插入
注意事项
Ctrl + CvsCtrl + D:Ctrl + C:终止命令。Ctrl + D:终止终端会话(无命令运行时)。
- 谨慎使用
kill -9:强制终止可能导致数据丢失,仅在其他方法无效时使用。 - 后台程序:
Ctrl + Z暂停后,需用kill或bg/fg管理,避免残留进程。
掌握退出命令的四种核心场景:
1️⃣ 前台命令 → Ctrl + C
2️⃣ 终端会话 → exit 或 Ctrl + D
3️⃣ 交互式工具(vim/top)→ 专属命令(如 :q 或 q)
4️⃣ 无响应进程 → kill -9 PID
正确退出可避免资源占用与数据损坏,是Linux高效操作的关键步骤。
引用说明参考Linux官方文档(man7.org)、GNU Bash手册及Unix系统管理实践(《The Linux Command Line》),操作验证基于Ubuntu 22.04/CentOS 7环境。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5805.html