Linux下screen命令,一个对运维人员特别有帮助的命令

在什么情况下使用该命令

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。


功能

会话恢复

多窗口

会话共享


语法

# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-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作业。


安装

使用yum命令安装screen程序包:

#yum install screen


创建与使用会话功能

完成安装后直接运行screen即可使用服务,推荐为每个会话取一个名字,方便分辨

创建名称为backup的会话:

#screen -S backup

查看当前已经存在的会话:

[root@linuxprobe~]# screen -ls

There is a screenon:

32230.backup(Attached)

1 Socket in/var/run/screen/S-root.

当执行screen命令后会调用系统默认的shell(通常即bash),所以敲完screen命令后会立即返回一个命令提示符,虽然看起来与刚刚没有变化,但此时你已经进入screen会话啦!

创建一个会话,初始为用vim编辑器写文件:

[root@linuxprobe~]# screen vim memo.txt

退出vim后会话也会被自动被删除:

[root@linuxprobe~]# screen -ls

There is a screenon:

32230.backup(Attached)

1 Socket in /var/run/screen/S-root.

新建一个叫做linuxprobe的会话:

[root@linuxprobe~]# screen -S linuxprobe

列出当前所有会话(有两个哦):

[root@linuxprobe~]# screen --ls

There are screenson:

32403.linuxprobe(Attached)

32230.backup(Attached)

2 Sockets in/var/run/screen/S-root.

回到backup会话中:

[root@linuxprobe~]# screen -r backup

linuxprobe会话离线:

[root@linuxprobe~]# screen -d linuxprobe

[remote detachedfrom 32403.linuxprobe]

再次查看会话状态(linuxprobe已经被离线了):

[root@linuxprobe~]# screen -ls

There are screenson:

32403.linuxprobe(Detached)

32230.backup(Attached)

2 Sockets in/var/run/screen/S-root.

将当前会话离线并回到linuxprobe会话中:

[root@linuxprobe~]# screen -d -r linuxprobe

[32403.linuxprobedetached.]

回到linuxprobe会话后,状态又改变了:

[root@linuxprobe~]# screen -ls

There are screenson:

32403.linuxprobe (Attached)

32230.backup(Attached)

2 Sockets in/var/run/screen/S-root.

[/pre]

总结来说:screen会话甚至为暂时断开(detach),那么会话窗口中的程序依然会执行。随后将会话重新连接(attach),那么即可重新控制会话窗口中运行的程序啦。

共享功能

会话共享功能是一件很酷的事,它让多个用户同时使用某一个会话,甚至让您和对方看到相同的终端内容,拓扑如下:

将两台Linux主机均连入同一个服务器:
在主机A的终端上执行创建会话的操作:

[root@linuxprobe ~]# screen -S linuxprobe

在主机B的终端上同步会话信息:

[root@linuxprobe ~]# screen -x

那么此时终端A与终端B上做的任何操作,都可以实时同步到对方的屏幕上,真的很酷哦!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值