Linux screen指令的基础应用

在Linux远程运行中非常有用

yuniee
yuniee   Follow

一个防止小鸡ssh断连导致任务中断的神器

# Linux screen指令的基础应用

# 🕷️为什么需要screen指令?

当购买的vps网络不好,或者本地网络不稳定时,通过ssh连接总是出现断连的情况,这时当你运行一个重要的任务时突然中断,这让人很抓狂,或者当你用vps传输数据时或者备份时,突然中断,就前功尽弃了,更严重者会丢失数据。又或者你有一个任务想让他人和你一起编辑,利用screen指令就可以和别人一起共享同一个会话了。

# 🦗检查screen命令的安装

有些vps的系统一开始并不自带screen指令,所以在使用之前你需要检查一下你的系统里是否已经安装了screen指令

使用以下命令检查

screen -v

当出现以下情况时就说明你已经安装了screen

屏幕截图 2023-06-09 180932.png

如果你还没有安装screen,可输入以下命令安装

  • Debian/Ubuntu
apt install screen -y
  • CentOS/RedHat/Fedora
yum install screen -y

# 🐫screen的基础使用

这里我们将要使用的只是简单的使用方法

  • 新建一个screen会话
screen -S 自定义名称

由此我们建立了一个screen会话,并且你已经进入了新的screen会话。

  • 查看我们刚才新建的screen会话

使用

screen -ls

查看

你会看见如下图结果 屏幕截图 2023-06-09 195708.png

很明显,我在这里创建了一个名为aaa的会话。

  • detach,暂时离开当前会话,使其后台运行

当你的任务已经在运行中,并且你还想运行别的命令,又或者你需要断开ssh使工作后台运行你可以使用ctrl+a+d使其detach,当然你也可以使用screen -d aaa使其detach。

  • 回到刚才的screen会话

要想回到刚才的screen会话,我们使用

screen -r aaa

然后我们就回到了刚才的会话

  • 删除新建的screen会话

当你的任务结束了,你想删除刚才新建的会话,你可以首先再次使用ctrl+a+d,然后再次使用screen -ls查看你的会话名称或者会话的编号

比如我们上面创建的screen会话,我们可以使用以下命令删除

screen -X -S aaa quit

或者

screen -X -S 212612 quit

# 😶‍🌫️其它参数

经过以上操作,我们已经掌握了screen的最简单的用法,下面是一些其它参数

  • 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的最最基础方法,如果你感兴趣可以去深入研究,但对很多人来说已经足够了,希望这能帮到大家。

记录一些基础但有用的玩机指南,还有我随心分享的各种内容,希望你能在这里找到你想要的