之前使用SSH操作云服务器(ubuntu系统)时,在系统中跑一个程序,需要等待时间,但是又想操作其他文件,不得不再打开一个SSH窗口连接,就在想有没有可以实现类似于窗口切换的功能。最终发现了好用的Screen,让我们一起学习下如何使用的吧!!

1、什么是Screen?

screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用SSH登入远程主机(例如服务器)或是使用老式的终端机时,才有可能用到screen程序。Screen中有会话的概念,用户可以在一个会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这“窗口”中,可以执行命令;每个“窗口”都是独立并行的。

2、Screen的安装:

可以通过screen -ls 来判读自己的linux系统有没有安装。

screen -ls     # 查看已经创建的会话

没有安装的就使用命令安装:

apt-get install screen

3、Screen的常用命令:

创建screen终端:

screen           //创建 screen 终端
screen -S py     //创建一个名为py的终端 

离开当前终端按住ctrl 后依次按a,d 即可离开当前终端,但是当前终端的内容并不会被清空,依旧保留,(相当于你离开当前网页切到了桌面):

ctrl a,d        //按住ctrl 后依次按a,d 即可离开当前终端

查看已创建的终端:

screen -ls   # 输入该命令可查看

 (这就是我日常使用到的Screen终端,感觉就像是开了好几个窗口,这些在终端在自己和服务器断开时也不会受影响,因此我就不用担心,远程连接服务器跑个程序然后窗口已断开就GG了。

连接离开的终端:

screen -r py       # 通过会话名称连接
screen -r 21094    # 通过会话id连接

有时在恢复screen时会出现There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令:

screen -d ****     

 退出screen,使用screen会耗费一定的系统资源,所以当screen中的命令执行完毕之后,最好退出screen,直接输入命令:

exit

其它命令:

Ctrl + a,d    #暂离当前会话
Ctrl + a,c    #在当前screen会话中创建一个子会话
Ctrl + a,w    #子会话列表
Ctrl + a,p    #上一个子会话
Ctrl + a,n    #下一个子会话
Ctrl + a,0-9  #在第0窗口至第9子会话间切换

小结:

很好用的工具,总结一下,不足的地方再补充。^_^

参考(知识来源):

!!!对了,不能忘了我的知识来源,本知识点的学习总结源自于:

https://www.runoob.com/linux/linux-comm-screen.html

https://www.jianshu.com/p/e91746ef4058

Logo

更多推荐