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
1
2
3
4
5
6
7
8
9
10
https://ftp.gnu.org/gnu/screen/下载gz包到本地,解压至/usr/local下
cd/usr/local/screen
./configure
make
makeinstall
如果提示安装etc/etcscreenrc,需要在安装
install-m644etc/etcscreenrc/etc/screenrc
然后查看是否安装成功
whichscreen会显示安装成功
/bin/screen
3.rpm -ivh screen-4.0.3-19.el6.x86_64.rpm
一、创建会话
最简单的就是直接输入screen然后回车,一个新的会话就创建完成了。
但如果有多个会话就无法很快地根据窗口名称进行切换,很尴尬的,所以建议用:
screen -S name 创建screen
-----demo------
screen -S myScreen
1
2
3
4
screen-Sname创建screen
-----demo------
screen-SmyScreen
上面命令就是新创建一个名称为myScreen的会话,创建完成后就可以在该会话窗口输入其他命令。
二、离开会话
ctrl+a+d:按住键盘上的ctrl,然后依次按a和d,这时候就又回到主会话了(即离开当前的screen会话)
三、恢复创建的会话
screen -r “id”
-----demo-------
screen -r myScreen
1
2
3
4
screen-r“id”
-----demo-------
screen-rmyScreen
这个命令的意思就是恢复名称为myScreen的会话,但如果你只有一个会话,直接输入screen -r 即可
四、查看已创建的会话
screen -list
或者
screen -ls
1
2
3
screen-list
或者
screen-ls
上面的命令意思就是可以查看本机已经创建的会话,可以看到会话的名称和会话ID,恢复的时候可以使用ID代替名称。
当恢复会话是出现:There is no screen to be resumed matching ****,我们可强制进入,命令:
screen -d id
----demo-----
screen -D -RR 13366
1
2
3
screen-did
----demo-----
screen-D-RR13366
五、退出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作业。
1
2
3
4
5
6
7
8
9
10
11
12
13
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作业。