在做一个大体积的数据备份时,在远程终端上直接运行备份脚本back.sh,或运行back.sh&放到后台运行,此时关闭远程终端,或网络断开都会让命令停止运行。此时就要使用到screen命令。
screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口一样。
(1).安装screen软件包
可以直接使用yum安装
[[email protected] ~]# yum -y install screen
也可以挂载CentOS7的光盘镜像安装
[[email protected] ~]# rpm -ivh /mnt/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:screen-4.1.0-0.25.20120314git3c29################################# [100%]
(2).screen使用方法
直接在命令行键入screen命令
[[email protected] ~]$ screen
screen会创建一个全新的shell窗口,你可以执行任意程序,就像在ssh窗口一样。
比如说我们使用vim创建一个txt文件,并输入一部分数据。
[[email protected] ~]$ vim a.txt //并随意输入一些数据 a bb ccc dddd eeeee ffffff
输入完成后退出插入模式回到正常模式,按下<Ctrl>+a+d。此时会显示如下部分
[[email protected] ~]# screen [detached from 10992.pts-0.xuexi] //分离出一个独立的会话
一段时间后,或者关闭了当时的终端,如果还想要回到之前的screen会话
[[email protected] ~]# screen -ls //查看已经建立会话的ID There is a screen on: 10992.pts-0.xuexi (Detached) 1 Socket in /var/run/screen/S-root. [[email protected] ~]# screen -r 10992 //重新建立会话
分离出独立会话后,即使关闭当前终端,也可再次使用。如果想关闭screen会话,使用exit命令。
(3).常用参数
screen -S [会话名称] 指定建立会话的名称
[[email protected] ~]# screen -S test [detached from 11347.test] [[email protected] ~]# screen -ls There is a screen on: 11347.test (Detached) 1 Socket in /var/run/screen/S-root.
screen -ls 列出当前所有的会话
screen -r [会话ID|会话名称] 回到指定会话,可以是会话名称,也可以是会话ID
[[email protected] ~]# screen -r test [detached from 11347.test] [[email protected] ~]# screen -r 11347 [detached from 11347.test]
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/2822.html