如何在带屏幕的Linux终端上执行多任务

如果您是Linux用户,则必须在某个时候开始使用Linux终端。某些终端命令可能很流行,而另一些则晦涩难懂,但是在许多情况下,通过终端窗口运行命令要比通过GUI运行命令容易。 GNU Screen使这样的终端多任务处理变得容易。让我们开始使用它。

什么是GNU屏幕?

GNU屏幕是用于Linux终端的工具,可将一个终端分成多个终端。这意味着您可以运行一个命令,例如下载图像文件的 wget ,同时切换到运行第二个命令,例如 systemctl ,以检查SMART

它允许您在单独的会话中运行类似的独立命令,可以随意连接和断开连接。

它不仅对您自己的PC有用;如果要管理远程服务器,这几乎是必不可少的。如果您是通过SSH在服务器上运行命令,那么断开连接会怎样?该命令可能仍在运行,但是您将无法轻松监控它或与之交互。

屏幕可以为您解决该问题。如果您失去连接,则可以重新连接到Screen会话,或者断开它的连接并使其在后台运行,直到需要再次访问它为止。

如何安装Screen

屏幕不是大多数Linux发行版都附带的,但是由于它早于Linux,因此受到了很好的支持。

如果要将其安装在基于Ubuntu或Debian的发行版上,请运行以下命令:

sudo apt-get updatesudo apt-get install screen

类似地,如果您正在运行Arch,请打开外壳程序窗口并运行:

sudo pacman -Syusudo pacman -S screen

如果您使用的是Fedora,请运行以下命令:

sudo yum updatesudo yum install screen

启动a屏幕会话

启动屏幕会话很简单。打开终端或建立SSH连接,然后键入屏幕。您会看到“屏幕介绍"窗口;按下空格键或按Enter键将其关闭。

完成后,终端屏幕将恢复正常。没有明显的迹象表明您正在运行Screen会话,但是从现在开始运行的每个命令都将在一个会话中运行,您现在可以随意分离并重新附加该会话。

查看和分离屏幕

如果您打算再次使用它,您将想知道如何连接和断开屏幕会话。如果您已经在Screen会话中,请按 Ctrl + A ,然后按字母 d (小写)。

该会话以及所有命令当前正在其中运行的文件将分离以在后台运行,以备稍后重新连接。假设您只有一个正在运行的Screen会话,请输入:

screen -r

这将重新连接您的会话并允许您继续。如果您需要远程强制分离一个会话,然后自己重​​新连接它,请输入:

screen -rd

您可以运行多个Screen会话。如果您想重新连接到特定的会话,则需要找出会话进程的ID号。键入 screen -ls screen -r 列出它们。

上图显示,在每个会话开始时,键入屏幕-r ,后跟初始ID号。例如:

screen -r 25407

如果要关闭会话并取消其中的任何正在运行的命令,请重新连接到该会话并键入退出

其他要记住的屏幕终端命令

对于想要从中获得最大收益的用户,屏幕有一些技巧。以下是一些最常用的终端命令供您记住。

与所有优秀的终端程序一样,Screen具有键盘快捷键供您使用。您已经在使用 Ctrl + A d 来分离现有屏幕。

如果要查看其余屏幕,只需键入< strong> Ctrl + A 后跟,即可为您提供可以使用的列表。

您无需在会话之间切换即可运行命令;您还可以在一个会话中在多个窗口之间切换。

点击 Ctrl + A ,然后过滤数字0-9。要列出每个会话,请使用 Ctrl + A ,然后使用 w (小写)查看具有一位ID的会话列表。

A随机生成的ID很难记住;给您的会话起个名字可能会使事情变得容易。如果要使用名称开始会话,请键入:

screen -S examplename

如果要通过名称重新连接到该会话,请键入:

screen -X examplename

要与同事还是朋友?多亏了Screen,您可以做到。输入:

screen -rx

您无需加入当前连接到此会话的任何人的连接,只需加入它即可。其他用户将看到您键入的内容和运行的命令。您还可以监视其他用户是否这样做。

出于维护或审核的原因,您可能需要将屏幕输出记录到文件中。为此,请键入:

screen -L

会话将以能够登录到名称为 screenlog.x (其中X为数字,从零开始)的文件开始。在您的主目录中。要在会话中启动日志,请键入 Ctrl + A ,然后键入 H Shift + h )。

如果您要保护屏幕会话,可以使用现有的Linux密码锁定会话。

键入 Ctrl + A ,然后键入 x (小写) )以在当前连接会话时将其锁定。

这会将其锁定在您当前的终端窗口中;键入您的帐户密码来解锁。

终端多任务处理变得简单

感谢GNU屏幕,您不必担心等待终端命令完成。如果您想控制远程服务器,这很有用,但如果您需要从一个窗口运行多个命令,它对于家用PC也是一个很好的工具。

它是系统管理员的理想工具。但这不是Linux终端工具箱的唯一命令,这就是为什么您应该将此重要的Linux命令速查表添加为书签。

标签: