Linux开发必备之Screen的使用

Linux下的Screen类似与Unix的tmux,是一个会话session管理程序,可以极大的提高工作效率。简单地说,即使shell窗口关闭了,会话不会丢失,下次重新连上就能恢复之前的会话继续工作了。详细资料可以参考IBM developerworks上的两篇文章:

这里,贴下我的screen配置文件.screenrc_baoniu:

 caption always "%{wb} %-w%{+b bw}%n %t%{-}%+w"      #蓝底白字
 #caption always "%{=b kR} %-w%{-b bg}%n %t%{-}%+w"  #红色的,这两句选一句就可以了
 defutf8 on    #如果有中文乱码就加上,否则可以不用
 defencoding utf-8
 encoding utf-8 utf-8
 defscrollback 8192     #可以解决闪屏的问题

1. screen的基本使用:

 screen -D -RR baoniu -c .screenrc_baoniu  (推荐使用)
 screen -S baoniu
 screen -r baoniu  

2. 切换窗口:

用快捷键
    ctrl-a 0   切换到第0个window
    ctrl-a 1   切换到第1个window
    ctrl-a 2   切换到第2个window
    .....
用列表:
    ctrl-a "  (ctrl加a,然后按双引号)

3. 关闭窗口:

ctrl-a K (注意K是大写)

4. 锁定当前的window:
这个功能很方便,锁定终端的同时不影响正在运行的程序,而且锁定之后只能输入密码来解锁,既安全又方便

ctrl-a x
窗口会变成:
Screen used by liuhongdi <lhd>.
Password:

5. 指定窗口名称:

 方法是,激活窗口,按 Ctrl-a A(大写的字母 A,代表 “Annotate”),根据需要按Backspace 删除现有的名称,然后在提示上输入一个有意义的名称:

6. 分屏:

 上下分成两个区域: Ctrl-a S (相当于emacs里的C-x 2)
 在两个区域里头切换: Ctrl-a TAB
 合并两个区域: Ctrl-a Q (相当于emacs里的C-x 1), Ctrl-a X (相当于emacs里头的C-x 0)

7. 窗口通知:

 Ctrl-a M. 这样当前窗口如果出现变化,系统会通过message来通知你
 Ctrl-a _. 正好是上面的反面,如果当前窗口15秒都没动静了,则screen会发一个msg.

8. 拷贝模式copy mode
screen的copy mode很有用,经常用来查看之前屏幕的输出

 ^A + [ 进入 copy mode
 copy mode 中游标移动就跟 vim 差不多
 enter 第一次 markup copy 起点
 enter 第二次 markup copy 终点
 (vi /tmp/1 打开一个文件)^A + ] 贴上

附上screen的运行图:
screen

发表评论

电子邮件地址不会被公开。 必填项已用*标注