GNU Screen 速查表
2 分钟阅读·Matthieu
GNU Screen 键盘快捷键、CLI参数、复制模式导航和区域管理速查参考。
会话管理
| 操作 | 命令 |
|---|---|
| 启动命名会话 | screen -S name |
| 列出会话 | screen -ls |
| 重新连接到会话 | screen -r name |
| 强制分离并重连 | screen -D -r name |
| 分离远端,在此处重连 | screen -d -r name |
| 多显示模式连接 | screen -x name |
| 启动后台会话 | screen -dmS name |
| 移除Dead会话 | screen -wipe |
| 向会话发送命令 | screen -S name -X quit |
| 从启动时开启日志 | screen -L -S name |
键盘快捷键
所有快捷键以前缀Ctrl-a(默认转义键)开头。
| 快捷键 | 操作 |
|---|---|
Ctrl-a d |
分离会话 |
Ctrl-a c |
创建新窗口 |
Ctrl-a n |
下一个窗口 |
Ctrl-a p |
上一个窗口 |
Ctrl-a 0-9 |
按编号跳转到窗口 |
Ctrl-a " |
列出窗口(交互式) |
Ctrl-a A |
重命名当前窗口 |
Ctrl-a k |
关闭当前窗口 |
Ctrl-a ? |
显示所有快捷键绑定 |
区域(分割)管理
| 快捷键 | 操作 |
|---|---|
Ctrl-a S |
水平分割 |
Ctrl-a | |
垂直分割 |
Ctrl-a Tab |
移动到下一个区域 |
Ctrl-a X |
关闭当前区域 |
Ctrl-a Q |
关闭当前区域外的所有区域 |
Ctrl-a :resize +5 |
区域增大5行 |
Ctrl-a :resize -5 |
区域缩小5行 |
分离时区域布局会丢失。重新连接后需要手动重新分割。
复制模式
按Ctrl-a [或Ctrl-a Esc进入复制模式。按Ctrl-a ]粘贴。
| 按键 | 操作 |
|---|---|
方向键 / h/j/k/l |
移动光标 |
Ctrl-u / Ctrl-d |
向上/向下滚动半页 |
0 / $ |
行首/行尾 |
g / G |
回滚缓冲区顶部/底部 |
/ / ? |
向前/向后搜索 |
Space |
设置标记(选区起点/终点) |
Enter |
复制选中内容并退出 |
Esc |
不复制直接退出 |
在.screenrc中增加默认回滚缓冲区(100行):
defscrollback 10000
.screenrc基本配置
startup_message off
shell /bin/bash
defscrollback 10000
term screen-256color
vbell off
altscreen on
autodetach on
nonblock on
deflogin on
hardstatus alwayslastline
hardstatus string '%{= kG}[%{G}%H%{g}][%=%{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%=%{g}][%{B}%Y-%m-%d %{W}%c%{g}]'
快速排查
| 问题 | 解决方法 |
|---|---|
| 会话卡在"Attached"状态 | screen -D -r name |
| 列表中有Dead会话 | screen -wipe |
| 终端冻结(XOFF) | Ctrl-a q |
| 显示乱码 | 在.screenrc中添加defutf8 on和term screen-256color |
| 启用窗口日志 | Ctrl-a H(日志保存到screenlog.N) |
完整教程参阅 如何在Linux VPS上使用GNU Screen。
版权所有 2026 Virtua.Cloud。保留所有权利。 本内容为 Virtua.Cloud 团队原创作品。 未经书面许可,禁止复制、转载或再分发。