
什么是Screen?
看看官网怎么介绍的,这是地址http://www.gnu.org/software/screen/,原文为:
Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells
这里把重点圈出来,windows manager窗口管理,主要用于执行长时间不能中断的备份、测试和传输任务等(恢复会话);以及共享终端会话窗口(窗口共享)
安装Screen
现在许多的 Linux 发行版通常都预装了 Screen 。通过运行以下命令,可以查看系统是否安装了 Screen :
ubuntu@ubuntu ~> screen -vScreen version 4.08.00 (GNU) 05-Feb-20
如果你的系统并未安装 Screen ,则可以执行以下命令来安装:
$ sudo apt install screen
创建启动会话
未使用前终端为zsh(示例中已安装oh-my-zsh)

使用screen启动一个 Screen 会话后,终端进入screen

使用 screen -ls 查看已经创建的screen会话:
ubuntu@ubuntu ~> screen -lsThere are screens on:15649.docker (2020年08月25日 09时32分13秒) (Attached)15601.pts-2.ubuntu (2020年08月25日 09时29分44秒) (Attached)7117.nc (2020年08月24日 13时54分42秒) (Detached)3 Sockets in /run/screen/S-ubuntu.
使用 screen -S <会话名> 创建并进入screen会话,这里创建一个名为“test”的会话:
ubuntu@ubuntu ~> screen -S testubuntu@ubuntu ~> screen -lsThere are screens on:18558.test (2020年08月25日 10时27分05秒) (Attached)15649.docker (2020年08月25日 09时32分13秒) (Attached)15601.pts-2.ubuntu (2020年08月25日 09时29分44秒) (Attached)3 Sockets in /run/screen/S-ubuntu.
分离和重新连接会话
进入 Screen 终端里执行命令后,可以输入会话分离快捷键 Ctrl a+d ,回到原来的shell会话中。这时,Screen 会话会继续留在后台执行更新任务。而且无论是网络断开连接,还是关闭原来的 Shell 会话,它都不会受到影响。

如果你想重新连接到已分离的 Screen 会话,以查看更新进程,只需执行以下命令:
$ screen -r <会话名>
会话的嵌套
即在 Screen 会话中的使用 Screen 会话,实现用户在一个窗口中使用多个终端。
在 Screen 终端再次输入 screen 命令,或者按 Ctrl a+c 快捷键,这会在你原来的 Screen 会话中再启动一个 Screen 会话,而原来的 Screen 会话则会在后台保持活动。

可以使用快捷键 Ctrl a+n (切换至下一个 Screen 会话)或者 Ctrl a+p (切换至上一个 Screen 会话)进行切换。
关闭会话
可以使用 Ctrl d 快捷键,也可以输入 exit 命令关闭:
$ exit
另外,进入 Screen 终端后,按 Ctrl a+? (先按Ctrl +a,松开后按shift+/)快捷键,可以查看 Screen 所附带的所有命令:

为了提高输入效率,这里将一些常用的screen命令设置为简写,编辑~/.bashrc(如果已经使用oh-my-zsh,为~/.zshrc)
ubuntu@ubuntu ~> vim ~/.zshrc设置简写alias sr='screen -r'alias sls='screen -ls'alias ss='screen -S'
