Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样 最简单使用
screen -ls会列出现在已有的会话,比如: 123.tty1.server (Detached) 321.tty2.server (Detached) 如果想恢复第一个会话,使用:screen -r 123或者screen -r tty1,只要能让screen区别出你要选择哪个即可。 直接使用screen创建会话有一个问题,就是会话的名字无实际的语义,不容易记忆,此时可以使用- S参数: screen -S foobar 然后按ctrl+a+d保存会话,接着使用命令screen -ls查询,你就能看到名为foobar的会话了,再恢复它: screen -r foobar
键绑定
C-a ? 显示所有键绑定信息
C-a w 显示所有窗口列表
C-a C-a 切换到之前显示的窗口
C-a c 创建一个新的运行shell的窗口并切换到该窗口
C-a n 切换到下一个窗口
C-a p 切换到前一个窗口(与C-a n相对)
C-a 0..9 切换到窗口0..9
C-a a 发送 C-a到当前窗口
C-a d 暂时断开screen会话
C-a k 杀掉当前窗口
C-a [ 进入拷贝/回滚模式
启动参数
-c file 使用配置文件file,而不使用默认的$HOME/.screenrc
-d|-D [pid.tty.host] 不开启新的screen会话,而是断开其他正在运行的screen会话
-h num 指定历史回滚缓冲区大小为num行
-list|-ls 列出现有screen会话,格式为pid.tty.host
-d -m 启动一个开始就处于断开模式的会话
-r sessionowner/ [pid.tty.host] 重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限
-S sessionname 创建screen会话时为会话指定一个名字
-v 显示screen版本信息
-wipe [match] 同-list,但删掉那些无法连接的会话
使用请参考这两篇: 复习一下Linux下的screen命令 使用 screen 管理你的远程会话