GNUScreen是一个终端多路复用器,它允许在主终端内进行多个终端会话。那么,为什么我们需要GNUScreen?有时我们可能会遇到一些问题,比如由于网络问题自动终止远程ssh连接。如果任务在生产环境中运行,这可能会很痛苦。因此,为了处理此类问题,建议使用单独的屏幕会话,这些会话不会随着终端会话的结束而终止。在Linux和Unix系统中,有一个叫做screen的终端多路复用工具,用来管理终端会话。在本文中,我们将描述如何在Linux中使用GNUScreen在生产系统中处理重要任务时管理终端会话。安装screen在Linux下安装screen包简单易行。一些现代操作系统预装了屏幕应用程序。运行以下命令以验证屏幕的可用性。$screen--versionScreenversion4.08.00(GNU)05-Feb-20如果您得到其他输出,则您的系统上没有可用的屏幕工具。执行以下命令安装屏幕包。Ubuntu/Debian$sudoapt-getinstallscreen-yRHEL/CentOS$sudoyuminstallsscreen-y//RHEL7$sudodnfinstallscreen-y//RHEL8startscreen安装完成后,运行命令screen即可启动屏幕会议。$screen创建命名屏幕会话使用screen命令后跟选项-s,您可以创建命名屏幕会话。在此示例中,我使用screenLinuxtechi作为屏幕会话的名称。您可以选择自己的名字。$screen-Sscreen-linuxtechi查看screen命令参数screen提供了一些有用的参数和命令。要列出可用参数,请按ctrl+a,然后按?要查看屏幕会话,请使用以下命令列出可用的屏幕会话$screen-lsdetachscreensessionscreen提供了一个有用的功能,您可以在其中分离屏幕会话以及重新连接时。要分离当前屏幕会话,请按ctrl+a,然后按d重新连接到屏幕会话使用选项-r重新连接到分离的屏幕会话。使用命令screen-ls列出分离的会话,找到屏幕会话名称并重新连接。在此示例中,我已重新连接到会话25148.pts-0.LinuxTechi$screen-ls$screen-r25148.pts-0.LinuxTechi也可以使用屏幕ID或名称重新连接到会话。在上面的示例中,25148是ID,pts-0.LinuxTechi是名称。$screen-r25148$screen-rpts-0.LinuxTechi拆分屏幕窗口有时,您可能需要将屏幕窗口拆分为多个屏幕以执行多个任务。垂直分割要垂直分割一个Linux屏幕窗口,按ctrl+a然后|,重复同样的过程,你可以分割n个屏幕窗口。水平拆分要水平拆分一个Linux屏幕窗口,请按ctrl+a后跟S(大写),重复相同的过程,可以拆分n个屏幕窗口。在分屏会话中创建新终端不会创建任何新终端,无论您是水平还是垂直分屏。要在屏幕中创建新终端,需要先使用ctrl+a和tab切换到新的分屏窗口。然后按ctrl+a和c(小写)创建一个终端。撤消分屏窗口要撤消分屏窗口,请使用ctrl+a和Q键锁定屏幕会话为防止未经授权的访问,可以在不锁定普通会话用户的情况下锁定屏幕会话。要锁定屏幕终端,请使用命令ctrl+a和x(小写),系统将提示您设置密码,应用保护密码,仅此而已。查找屏幕会话的所有者屏幕会话存储在目录/var/run/screen中,列出目录中存储的内容以查找屏幕的所有者。$ls-ltr/var/run/screen终止屏幕会话任务完成后,您可以使用ctrl+a和k命令销毁屏幕会话。系统将提示您进行用户确认,键入y终止会话。访问屏幕帮助页面$screen--help或使用man命令$manscreen一些有用的屏幕命令参数ctrl+a+c=>使用终端ctrl+a+创建一个新窗口?=>查看参数列表ctrl+a+A=>重命名当前窗口ctrl+a+tab=>切换到下一个窗口ctrl+a+S=>水平分割窗口ctrl+a+|=>垂直拆分窗口ctrl+a+d=>分离屏幕ctrl+a+k=>结束屏幕我的开源项目course-tencent-cloud(kuguayunclassroom-giteewarehouse)course-tencent-cloud(kuguayunclassroom-githubwarehouse)
