GNU Screen - 持久化终端会话
GNU Screen 是终端复用器。它可以让命令在会话分离或网络连接中断后继续运行,之后再重新连接。
创建会话
# 创建未命名会话
screen
# 创建名为 work 的会话
screen -S work在 Screen 内按 Ctrl+A,松开后再按 d,即可分离当前会话。
查看与恢复
# 列出当前用户的会话
screen -ls
# 恢复指定会话
screen -r work如果会话仍连接在另一个终端,可先分离旧连接再恢复:
screen -d -r work该命令会中断旧终端与会话的连接,使用前应确认不会影响另一位正在操作的使用者。
常用快捷键
所有快捷键都先按前缀 Ctrl+A:
| 快捷键 | 作用 |
|---|---|
d | 分离当前会话 |
c | 创建新窗口 |
n | 切换到下一个窗口 |
p | 切换到上一个窗口 |
" | 显示窗口列表 |
k | 关闭当前窗口 |
关闭窗口前应确认其中没有仍需运行的任务。退出窗口中的 Shell 后,该窗口也会关闭;最后一个窗口结束时 Screen 会话终止。
安全提示
- 会话名不是访问控制手段;能够使用同一系统账号或取得更高权限的用户可能访问会话。
- 终端内容和回滚缓冲区可能包含账号、令牌或内部地址,分享截图或日志前应先检查。
- 需要录制可回放的终端演示时,可使用 Asciinema;需要保存本地文本记录时,可使用 script。