1.screen
screen是类似tmux的一种终端复用工具,但是可能比tmux的功能稍微少一些。简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
类似于tmux中,screen中也有session和window的概念,但是没有pane的概念,也就是screen不可以对window进行切割。
2.screen的常用操作
screen #创建一个screen session,session的默认名称为pid.tty.host
screen command #创建正在执行command的screen session,命令执行结束后,就退出screen session
screen -S sessionname #创建一个名称为pid.sessionname的session
screen -ls #列出现有screen会话,格式为pid.tty.host
screen -r screen_pid #attach到screen_pid的会话上
screen -D -r screen_pid #剔除已经attach这个会话的screen,再attach到该screen_pid的会话上
screem -wipe #删掉那些无法连接的会话
3.screen工具内部的操作快捷键
在screen中有一个前置操作,screen默认的前置操作是CTRL+a(亦可以修改)。在screen使用任何快捷按键时,都首先需要执行这个前置操作。screen工具在收到前置操作命令时,才会知道接下来的操作是和screen进行快捷键的操作交互。screen的常用的快捷操作如下:
prefix ? ->>显示所有快捷键
#和会话相关的操作
prefix d ->>detach当前会话
#和窗口相关的操作
prefix w ->>显示当前会话所有的窗口列表
prefix c ->>在当前会话中创建一个新的窗口
prefix n ->>切换到下一个窗口
prefix p ->>切换到前一个窗口
prefix 0...9 ->>切换指定编号的窗口
prefix K ->>kill掉当前窗口
prefix A ->>重命名当前窗口
4.screen的个性化设置
可以配置如下内容,让screen在多窗口显示时,窗口名称可以显示为机器名,这样的话多窗口切换时比较方便。具体配置如下:
[@localhost ~]# cat ~/.screenrc
hardstatus on
hardstatus alwayslastline
startup_message off
termcapinfo xterm ti@:te@
hardstatus string "%{= kG}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
学习资料来源于:
https://www.ibm.com/developerworks/cn/linux/l-cn-screen/