Screen极简指南

Screen极简指南

Terminal Multiplex

终端多路复用器主要特性:

  • Persistent 可以持久化保存当前的session的进程,而不用受到SIGHUP的影响,session可以进行恢复,使工作具有连续性
  • Multiple Windows 多窗口机制,允许在屏幕上打开多个窗口进行编辑操作
  • Session Shareing 会话共享,允许多用户共享一个会话进行协作

使用场景介绍

现在的ssh终端比较强大,如securectr/xshell/iterm等,可以满足一般的需求,但是有一些情况我们只能使用一个Terminal时,就需要使用到类似screen的能力了,这些场景有:

  • 机房中,直连服务器时,想要同时执行多个命令操作
  • 如登录目的机器要经过很多跳时
    • 如先跳板机、登录目的服务器
    • 如通过ssh tunnel技术登录目的服务器,中间可能有很多跳
  • 有时需要执行耗时很长的命令,

基本概念

基本概念

  • session 一个screen的会话表示,可以在
  • region 表示屏幕的一块区域,可以将window放进这个区域,进行命令操作
  • window 一个命令行窗口

session状态解释

  • attached 表示screen session与terminal进程关联上
  • detached 表示没有terminal进程关联上,但是这个不影响这个session中运行的命令

常用命令

screen session外部命令

  • screen 启动screen session

  • screen -ls 查看screen session列表,如

    There are screens on:
        26206.ttys001     (Detached)
        19444.ttys001     (Attached)
    
  • screen -r 26206 reattach a detached screen session

  • screen -x -r 219444 Attach to a not detached screen session. (Multi display mode)

screen session内部命令

  • ctrl+a, ? 查看帮助
  • ctrl+a, “ 查看当前screen的window列表
  • ctrl+a, c 新增window,并切换到新window
  • ctrl+a, tab 跳转到下一个region
  • ctrl+a, 0 跳转到0个window,编号从0开始
  • ctrl+a, k kill掉当前window
  • ctrl+a, | 增加垂直region
  • ctrl+a, s 增加水平region
  • ctrl+a, X 删除当前region
  • ctrl+a, Q 除了当前region,删除其他region
  • ctrl+a, d 在任意一个window中执行,将detach当前screen
  • ctrl+d 退出当前region的window,如果是最后一个window则终止这个screen session

使用示例

开启screen,并在一个session region内操作

  • screen # 开启screen session,此时会启动一个window
  • echo "first window in session" #
  • Ctrl+a, c # 启动一个新window
  • Ctrl+a, " # 查看当前窗口列表
  • 选择一个窗口,回车切换当前session到该窗口

开启screen,创建多个session region

  • screen # 开启screen session,此时会启动一个window
  • Ctrl+a, | # 水平方向增加一个region
  • Ctrl+a, TAB # 切换到下一个region中
  • Ctrl+a, c # 创建window,并在当前region中打开

References

  • https://en.wikipedia.org/wiki/Terminal_multiplexer
  • https://www.gnu.org/software/screen/manual/screen.html
  • linux manual screen
  • https://www.ibm.com/developerworks/cn/linux/l-cn-screen/index.html
  • https://www.youtube.com/watch?v=I4xVn6Io5Nw
  • http://wdxtub.com/2016/03/30/tmux-guide/
  • http://louiszhai.github.io/2017/09/30/tmux/

你可能感兴趣的:(Screen极简指南)