退出终端会话的通用方法
-
exit
命令- 在命令行输入
exit
后按回车,当前终端会话会立即关闭。 - 适用场景:本地终端、SSH远程连接、子Shell环境。
- 示例:
user@host:~$ exit
- 在命令行输入
-
logout
命令- 功能与
exit
类似,但仅适用于登录Shell(如通过SSH或tty登录的会话)。 - 示例:
user@host:~$ logout
- 功能与
-
快捷键
Ctrl + D
- 按下组合键
Ctrl + D
(即^D
),效果等同于输入exit
。 - 注意:若当前有未保存的任务(如文本输入),需先按
Ctrl + C
中断任务再使用。
- 按下组合键
退出终端中运行的程序
某些命令会占用终端(如文本编辑器、监控工具),需先退出程序才能返回终端:
-
Vim/Nano 编辑器:
- Vim:按
Esc
键,输入:q
后回车(未保存时用:q!
强制退出)。 - Nano:按
Ctrl + X
,根据提示保存或放弃更改。
- Vim:按
-
实时监控工具(如
top
、htop
):- 直接按
q
键退出。
- 直接按
-
分页查看器(如
less
、man
):- 按
q
键退出。
- 按
-
后台运行的程序:
- 用
Ctrl + Z
暂停程序,输入bg
放入后台,再用disown
或nohup
解除关联。 - 强制终止:
Ctrl + C
(中断)或kill [PID]
(通过进程ID关闭)。
- 用
关闭图形界面终端窗口
- 快捷键关闭:
- 关闭当前标签页:
Ctrl + Shift + W
- 关闭整个终端窗口:
Ctrl + Shift + Q
或点击窗口右上角的 按钮。
- 关闭当前标签页:
- 注意:直接关闭窗口会终止所有正在运行的前台程序(除非已放入后台)。
特殊情况处理
-
SSH远程连接退出后程序继续运行:
- 使用
screen
或tmux
工具创建会话:screen -S session_name # 创建会话 Ctrl + A, D # 分离会话(程序在后台运行) screen -r session_name # 重新连接
- 使用
-
终端卡死或无响应:
- 尝试
Ctrl + C
中断当前命令。 - 若无效,用
Ctrl + \
强制终止进程。 - 终极方案:
kill -9 [PID]
或重启终端。
- 尝试
注意事项
- 数据安全:退出前确保任务已保存,避免
Ctrl + D
误触导致未保存内容丢失。 - 后台程序:长期运行的任务建议用
nohup command &
启动,防止终端退出时被终止。 - 权限影响:
exit
和logout
在非登录Shell中可能行为略有差异,但多数场景可互换。
场景 | 推荐方法 |
---|---|
退出普通终端会话 | exit 或 Ctrl + D |
退出登录Shell(如SSH) | logout |
退出编辑器/监控工具 | 程序特定命令(如 :q 、q ) |
强制关闭无响应终端 | Ctrl + \ 或结束进程 |
引用说明基于Linux核心命令(如bash、GNU coreutils)的官方文档及常见终端工具(如vim、top)的使用规范,参考来源包括《Linux命令行与Shell脚本编程大全》、Ubuntu Manpage Repository及Stack Exchange社区实践案例,操作已通过Ubuntu 22.04/CentOS 7环境验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7106.html