Linux基础之screen命令

screen命令

一、简介
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
二、功能
(1)会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。

(2)多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。

(3)会话共享
Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

当我们需要执行一个用时较多的作业,不希望自己或者他人误操作关闭终端导致作业中断,可以进入screen,这样,当终端关闭,作业仍会继续执行。

三、语法
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]

四、常用参数
screen -S “screenname”–> 给screen作业命名
screen –ls或-list -> 列出当前所有的session
screen –r “screenname ”–> 回到“screenname ”这个session
screen -d –r “screenname ”–> 分离出其他运行的screen(并在这里重新连接)
ctrl+d 或 exit 退出当前screen(会话)

五、使用screen
远程登陆上CentOS7,初始界面如下:
这里写图片描述

我们可以先查看一下是否安装了screen,下图表示还未安装
这里写图片描述

找到光盘默认挂载区域,找到screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm包,下图红色部分就是screen的rpm安装包
这里写图片描述

安装screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm包
这里写图片描述

此时已经安装成功screen包,查看是否已有screen命令,键入screen,回车,这时没有出现”Command not found“,证明已经安装成功
这里写图片描述

这时已经进入了screen,我们可以利用screen -ls 或者-list列出当前所有存在的screen,可以看到,默认screen名字是(当前终端名.主机名前缀)的形式
这里写图片描述
我们也可以自定义screen 的名字
格式为screen –S (注意,S是大写的) screenname,
这里写图片描述

这时,再利用screen -ls 或者-list列出当前所有存在的screen,可以看到,现在screen名字是Tom,也就是我们刚才自定义的名字。
这里写图片描述

在Tom这个screen下,运行ping命令来模拟一个执行时间很长的操作。
这里写图片描述

再开一个终端,可以看到Tom这个screen是Attached状态
这里写图片描述

当关闭正在执行ping命令的终端,此时可以看到Tom这个screen是Detached状态,表明终端已经关闭。
这里写图片描述

但是ping命令仍然在执行,并没有停止,通过ps –ef|grep ping
查看当前进程中有ping这个进程,说明执行命令的终端关闭,也不会影响命令的继续执行。
这里写图片描述

执行命令的终端关闭后,我们想要再进入Tom的screen,可执行screen -r screenname
这里写图片描述

回车,可以看到ping 127.0.0.1仍然在执行
这里写图片描述

按Ctrl+C 强制退出ping 127.0.0.1,按ctrl+d或输入exit退出当前screen。
这里写图片描述

此时screen已经全部退出
**这里写图片描述**

这里只列出了screen的一些常用参数用法,需要了解更多用法,可以在linux命令行下输入man screen或者进入GNU’s Screen 官方站点:http://www.gnu.org/software/screen/,获取更多关于screen的知识


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值