如何在带有屏幕的 Linux 终端上进行多任务处理

如果您是 Linux 用户,您将不得不在某个时候开始使用 Linux 终端。 一些终端命令可能很流行,而另一些则晦涩难懂,但在许多情况下,通过终端窗口运行命令比通过 GUI 运行命令更容易。

但是,如果您需要同时运行多个命令会怎样? GNU Screen 让终端多任务处理变得如此简单; 让我们开始使用它。

什么是 GNU 屏幕?

GNU Screen 是一种用于 Linux 终端的工具,可将一个终端拆分为多个终端。 这意味着你可以运行一个命令,比如说

wget

下载一个图像文件,同时切换到运行第二个,例如

systemctl

检查驱动器的 SMART 状态。

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

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

Screen 为您解决了这个问题。 如果您失去连接,您可以重新连接到 Screen 会话,或者与其分离并让它在后台运行,直到您需要再次访问它。

如何安装屏幕

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

如果您想在基于 Ubuntu 或 Debian 的发行版上安装它,请运行以下命令:

sudo apt-get update
sudo apt-get install screen

同样,如果您正在运行 Arch,请打开您的 shell 窗口并运行:

sudo pacman -Syu
sudo pacman -S screen

如果你正在使用 Fedora,改为运行:

sudo yum update
sudo yum install screen

开始屏幕会话

启动 Screen 会话很简单。 打开终端,或建立 SSH 连接,然后键入 screen. 您将看到屏幕介绍窗口; 点击空格或输入键 close 它。

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

查看和分离屏幕

如果您打算再次使用 Screen 会话,您将想知道如何连接和断开它。 如果您已经在 Screen 会话中,请点击 Ctrl + A 后跟这封信 d (小写)。

会话和当前在其中运行的任何命令将分离以在后台运行,以便稍后重新连接。 假设您只有一个正在运行的 Screen 会话,请键入:

screen -r

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

screen -rd

您可以运行多个 Screen 会话。 如果要重新连接到特定会话,则需要找出会话进程 ID 号。 类型

screen -ls

或者

screen -r

列出它们。

如上图所示,输入

screen -r

然后是每个会话开始时的初始 ID 号。 为了 example:

screen -r 25407

如果你想 close 会话并取消其中的任何正在运行的命令,重新连接到它并键入

exit

.

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

对于想要充分利用它的用户,Screen 有一些技巧。 以下是一些最常见的终端命令供您记住。

列出屏幕键盘快捷键

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

如果您想查看其余内容,只需键入 Ctrl + A 其次是 ? 给你一个你可以使用的列表。

在会话中创建和切换窗口

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

要在会话中创建一个新窗口,请点击 Ctrl + A 其次是 C (小写)创建一个新窗口。 您的第一个窗口从数字开始 0你的下一个窗口 1, ETC。

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

使用名称创建会话

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

screen -S examplename

如果要按名称重新连接到此会话,请键入:

screen -X examplename

共享屏幕会话

想与同事或朋友共享终端会话吗? 感谢 Screen,您可以。 类型:

screen -rx

无需分离当前连接到此会话的任何人,您只需加入它即可。 其他用户将看到您键入的内容和您运行的命令; 如果他们也这样做,您还可以观看其他用户。

将屏幕输出记录到文件中

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

screen -L

会话将从能够登录到具有名称的文件开始 屏幕日志.x (其中 X 是一个数字,从零开始)在您的主目录中。 要开始登录会话,请键入 Ctrl + A 其次是 H (Shift + h)。

锁定屏幕会话

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

类型 Ctrl + A 其次是 X (小写)在您当前连接到会话时锁定会话。

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

终端多任务处理再简单不过了

感谢 GNU Screen,您不必担心等待终端命令完成。 如果您希望控制远程服务器,它会很有用,但如果您需要从一个窗口运行多个命令,它也是家用 PC 的绝佳工具。

它是系统管理员的完美工具。 然而,它并不是你的 Linux 终端工具箱的唯一命令,这就是为什么你应该为这个重要的 Linux 命令的备忘单添加书签。