screen是什么?
Screen是一个全屏窗口管理器,它可以在多个进程之间多路复用一个物理终端。Screen中有会话的概念,用户可以在一个会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telent/SSH连接窗口那样。
通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这些“窗口”中,可以执行命令,并且这些“窗口”都是独立并行的。
那么怎么使用这逼呢?
linux安装screen
1.yum install -y screen
2.源码安装
https://ftp.gnu.org/gnu/screen/下载gz包到本地,解压至/usr/local下 cd /usr/local/screen ./configure make make install 如果提示安装 etc/etcscreenrc ,需要在安装 install -m 644 etc/etcscreenrc /etc/screenrc 然后查看是否安装成功 which screen 会显示安装成功 /bin/screen
3.rpm -ivh screen-4.0.3-19.el6.x86_64.rpm
一、创建会话
最简单的就是直接输入screen然后回车,一个新的会话就创建完成了。
但如果有多个会话就无法很快地根据窗口名称进行切换,很尴尬的,所以建议用:
screen -S name 创建screen -----demo------ screen -S myScreen
上面命令就是新创建一个名称为myScreen的会话,创建完成后就可以在该会话窗口输入其他命令。
二、离开会话
ctrl+a+d:按住键盘上的ctrl,然后依次按a和d,这时候就又回到主会话了(即离开当前的screen会话)
三、恢复创建的会话
screen -r “id” -----demo------- screen -r myScreen
这个命令的意思就是恢复名称为myScreen的会话,但如果你只有一个会话,直接输入screen -r 即可
四、查看已创建的会话
screen -list 或者 screen -ls
上面的命令意思就是可以查看本机已经创建的会话,可以看到会话的名称和会话ID,恢复的时候可以使用ID代替名称。
当恢复会话是出现:There is no screen to be resumed matching ****,我们可强制进入,命令:
screen -d id ----demo----- screen -D -RR 13366
五、退出screen
使用screen会耗费一定的系统资源,所以当screen中的命令执行完毕之后,直接输入命令:exit
六、其他命令
杀掉一个screen(退出detach):screen -X -S 24322 quit
执行之后 再次 screen -ls 已经不存在 24322的 screen窗口
七、screen参数
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作业。