Linux screen命令用于多重视窗管理程序。对于我来说这个命令相当于后台执行,在下载安装一些文件软件,或者传输文件时,最头疼的就是ssh断开连接,一旦断开那么前面的工作就拜拜浪费了,或者在开启Minecraft服务器的时候,你不会一直连接着ssh吧,这里screen就可以帮你完美解决上述问题。

screen完美三大功能

  • 会话恢复
    只要Screen本身没有终止,在其内部运行的会话都通过下面命令可以恢复
    screen -r <回话名字>

  • 多窗口
    在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。

  • 会话共享
    Screen可以让一个或多个用户从不同终端多次登录一个会话

安装Screen

一般linux自带screen,如果没有自带的话,那么通过如下命令下载安装。
yum install screen

screen的语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

参数说明:

-A  将所有的视窗都调整为目前终端机的大小。
-d<作业名称>  将指定的screen作业离线。
-h<行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S<作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

简单使用Screen

  • 建立窗口例如
    screen -S mua
    创建了叫screen的窗口,我们可以在mua窗口下作业,不用担心ssh突然掉线
    这里看似什么都没发生,但是你已经走到mua窗口里作业了。
    搜狗截图20200728031058.png

  • 掉线后恢复窗口
    在网络掉线后我们使用如下命令恢复
    screen -r mua

  • 查看有多少个窗口
    screen -ls
    搜狗截图20200728032615.png
    如图我创建了pl server mua 这三个窗口
    如果我想要进到 mua回话下,那就这样
    搜狗截图20200728033213.png
    这里为啥要加一个 -d 呢 就是因为 mua是attached状态,所以先把自己踢掉在进来 没有-d 是进不去的。
    最后如果你要退出mua窗口的话,你输入exit 回车之后就退出啦
    image.png

未完待续

screen还有更高级的功能还未介绍呢,本篇就说一下最基础的吧

本人小白,有错请指正

努力成长的程序员