screen Cheatsheet - Terminal Session Manager Reference
远程开发必备的 screen 操作命令都在这里了,从会话管理到分屏操作,按场景分类整理,断线不丢会话,直接复制。
Back to SysOps会话管理 Session 8
screen -S name创建命名会话
screen -ls列出所有会话
screen -r name连接到指定会话
screen -d name分离会话(不终止)
screen -x name附加到已附加的会话(多终端共享)
screen -X -S name quit终止指定会话
Ctrl+a d脱离当前会话(会话继续后台运行)
screen -RD name强制分离远程会话并附加(最常用恢复方式)
窗口 Window 8
Ctrl+a c创建新窗口
Ctrl+a n / p切换到下一个 / 上一个窗口
Ctrl+a 0-9切换到指定编号窗口
Ctrl+a A重命名当前窗口
Ctrl+a k关闭当前窗口(确认)
Ctrl+a w列出所有窗口
Ctrl+a "交互式选择窗口
Ctrl+a Ctrl+a在当前和上一个窗口间切换
分屏 Split Screen 5
Ctrl+a S水平分屏(上下)
Ctrl+a |垂直分屏(左右,需 screen 4.1+)
Ctrl+a Tab在分屏间切换焦点
Ctrl+a X关闭当前分屏
Ctrl+a Q关闭所有分屏(只留当前)
复制模式 Copy Mode 6
Ctrl+a [进入复制模式,可翻页和选择文本
Space开始选择(vi 模式)
Enter复制选中内容
Ctrl+a ]粘贴最近复制的文本
Ctrl+a Esc退出复制模式
PageUp / PageDown翻页
其他操作 Other 5
Ctrl+a ?查看所有快捷键
Ctrl+a :进入命令模式
Ctrl+a H开始/停止记录日志
Ctrl+a x锁定会话(需密码)
screen -dmS name cmd后台创建会话并执行命令
配置 .screenrc Configuration 6
startup_message off关闭启动版权提示
defscrollback 10000设置滚动缓冲区为 10000 行
term xterm-256color设置终端类型支持 256 色
escape ^Bb修改前缀键为 Ctrl+b(避免与终端冲突)
screen -t editor 1 vim启动时自动创建命名窗口并执行命令
caption always "%n %t"底部始终显示窗口编号和标题
💡 Tips
- SSH 断线后 screen 会话不丢失,重新 ssh 后 screen -r 即可恢复,远程开发必备。
- Ctrl+a 是默认前缀键,如果和终端快捷键冲突可在 ~/.screenrc 中改。
- screen 功能较老,新项目建议用 tmux(更现代、支持插件)。