screen命令简易学,快速上车手册

相信进入企业开发,你会用到screen命令,但很多教程太详细导致你难以上手,其实学会常用的几个命令,再在空闲时间扩展学习就好。

一、为什么用screen(序)

什么是screen

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

会话恢复

只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。

我的理解

screen就像windows的窗口,也用于运行进程,只是在linux中看不见“窗口界面”,只能查看窗口的端口和命名信息。每个窗口独自管理其中运行的进程,与其他所有窗口共用资源,同时完全独立的运行程序,维护各自窗口内部的环境变量。

企业开发使用screen的好处:

①在企业开发中,由于多个开发人员使用,以及多个项目跑在同一个服务机上,需要不断为了自己的项目修改系统变量和用户变量。于是大家干脆不设置所有的环境变量,通过在窗口运行脚本文件,用export指令临时指定环境变量,在窗口被关闭时,所有临时环境变量都将失效。

②screen可用于程序后台运行,和&符号指定的后台运行不同,screen运行比如服务端代码可以随时查看日志信息,当你不需要当前窗口,想执行其他任务的时候,只需用ctrl+a / ctrl+z 连续操作就可以将窗口最小化到后台,需要查看时再用screen -R 窗口名进入即可,并且不同的用户可以进入相同的窗口查看相同的终端信息。而使用&指令的后台运行是看不见日志的。

二、常用screen参数和命令

查看和进入

-ls  查看当前创建的窗口
-R + 窗口名 先试图恢复离线的会话。若找不到即建立新的screen会话(如果发现执行该指令出现同名的多个窗口,那它们可能是不同的多个用户创建的)
-r + 窗口名  重新连接会话,其实这个操作是-R的子集,上面那个指令足够使用了。
-x  共享窗口:你在和朋友在不同地点以相同用户登录一台机器,然后你创建一个screen会话,你朋友可以在他的终端上命令。会将你朋友的终端Attach到你的Screen会话上,并且你的终端不会被Detach。这样你就可以和朋友共享同一个会话了,如果你们当前又处于同一个窗口,那就相当于坐在同一个显示器前面,你的操作会同步演示给你朋友,你朋友的操作也会同步演示给你。(解决了上述-R括号中的问题)

关闭或清除

ctrl+a / ctrl+k  连续操作杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
-wipe   清除死会话:(比如因人为杀死而死掉)检查目前所有的screen作业,并删除已经无法使用的screen作业

最小化和退出

ctrl+a / ctrl+z 连续操作可以将窗口最小化到后台,在需要是通过screen -R “窗口名” 进入查看
ctrl+c 终止当前窗口
exit 退出当前窗口,并删除

其实最简单的使用,以上命令足够了,详情继续参考

http://man.linuxde.net/screen

猜你喜欢

转载自blog.csdn.net/m0_37860933/article/details/82891839
今日推荐