Linux screen 命令指南


简介

在使用 Linux 终端时,您有时可能需要同时运行多个进程。但是,如果您关闭终端或意外断开远程会话,进程将终止,您可能会丢失所有进度。这就是 Linux screen 命令派上用场的地方。

Screen 是一款功能强大的命令行实用程序,允许您在一个 shell 窗口或通过 SSH 连接创建和管理多个终端会话。即使您没有物理连接到服务器,它也是管理长期运行的进程或多个命令的便捷工具。

在本文中,我们将讨论 Linux screen 命令的基础知识、其用法以及一些管理终端会话的实用技巧和窍门。

安装 Screen

大多数现代 Linux 发行版都预装了 screen。但是,如果您的系统上尚未安装,您可以使用发行版的软件包管理器来安装它。例如,在 Ubuntu 上,您可以使用以下命令安装它:

sudo apt-get install screen

安装完成后,您就可以开始使用 screen 命令了。

创建新的 Screen 会话

要创建新的 screen 会话,只需键入以下命令:

screen

这将在 screen 会话中启动一个新的 shell 会话。现在,您可以像在普通终端中一样运行任何所需的命令。

从 Screen 会话中分离

要从 screen 会话中分离,您可以按键盘快捷键“Ctrl+A”,然后按“d”。这将分离 screen 会话并返回到 shell 提示符。在 screen 会话中运行的所有进程将继续在后台运行。

重新连接到 Screen 会话

要重新连接到 screen 会话,您可以使用以下命令:

screen -r

这将使您重新连接到最后一个活动的 screen 会话。如果有多个 screen 会话正在运行,您可以指定会话 ID 以重新连接到特定的 screen 会话。

screen -r <session_id>

列出活动 Screen 会话

要列出所有活动的 screen 会话,您可以使用以下命令:

screen -ls

这将向您显示所有活动 screen 会话及其对应的会话 ID 列表。

There are screens on:
   1168.pts-0.ip-10-0-0-45       (Detached)
   1323.pts-0.ip-10-0-0-45       (Detached)
   1343.pts-0.ip-10-0-0-45       (Detached)
3 Sockets in /run/screen/S-ubuntu.

终止 Screen 会话

要终止 screen 会话,您可以使用以下命令:

screen -X -S <session_id> quit

这将向指定的 screen 会话发送“quit”命令,这将终止其内部运行的所有进程。

分割屏幕

screen 命令最有用的功能之一是能够将终端窗口分割成多个区域。在同时处理多个任务时,这尤其有用。

要水平分割屏幕,您可以使用以下命令:

Ctrl+A, |

这会将终端窗口分成两个水平区域。现在,您可以在每个区域运行不同的命令。

要垂直分割屏幕,您可以使用以下命令:

Ctrl+A, S

这会将终端窗口分成两个垂直区域。

在区域之间导航

要导航到不同的区域,您可以使用以下命令:

Ctrl+A, Tab

这将在不同的区域之间切换。

Ctrl+A, <arrow_key>

调整区域大小

您可以使用以下命令调整 screen 不同区域的大小:

Ctrl+A, :resize +<number>

这会将当前区域的大小增加指定的行数。

Ctrl+A, :resize -<number>

这会将当前区域的大小减少指定的行数。

复制和粘贴文本

您可以使用以下命令在 screen 的不同区域之间复制和粘贴文本:

Ctrl+A, [

这将进入复制模式。您可以使用箭头键导航到要复制的文本。

Spacebar

这将开始选择文本。

Enter

这将复制选定的文本。

要粘贴复制的文本,您可以使用以下命令:

Ctrl+A, ]

这将在光标位置粘贴复制的文本。

命名 Screen 会话

您可以使用以下命令为 screen 会话命名,以便于识别:

screen -S <session_name>

这将创建一个具有指定名称的新 screen 会话。

screen -r <session_name>

这将重新连接到具有指定名称的 screen 会话。

Screen 命令的高级用法

除了 screen 命令的基本用法之外,还有许多高级功能可以使您的体验更上一层楼。

使用特定配置创建新会话

您可以使用配置文件创建具有特定配置的新 screen 会话。如果您想自定义新 screen 会话的环境,这将特别有用。

要使用特定配置创建新的 screen 会话,您可以使用以下命令:

screen -c <config_file>

这将使用配置文件中指定的配置创建一个新的 screen 会话。

自定义状态行

您可以自定义 screen 命令的状态行以显示有关当前 screen 会话的信息。这可能包括会话名称、时间和窗口数量。

要自定义状态行,您可以使用以下命令:

Ctrl+A, :hardstatus string '<status_line>'

这会将状态行设置为指定的字符串。

创建和在窗口之间切换

除了将终端窗口分割成多个区域外,您还可以在同一个 screen 会话中创建和在多个窗口之间切换。

要创建一个新窗口,您可以使用以下命令:

Ctrl+A, c

这将在同一个 screen 会话中创建一个新窗口。

要在不同的窗口之间切换,您可以使用以下命令:

Ctrl+A, n

这将切换到下一个窗口。

Ctrl+A, p

这将切换到上一个窗口。

Ctrl+A, <window_number>

这将切换到指定的窗口编号。

向其他窗口发送命令

您可以在同一个 screen 会话中向其他窗口发送命令,而无需切换到它们。

要向另一个窗口发送命令,您可以使用以下命令:

Ctrl+A, :number <window_number> stuff '<command>
'

这会将指定的命令发送到指定的窗口。

监视其他窗口中的活动

您可以在同一个 screen 会话中监视其他窗口中的活动,而无需切换到它们。

要监视另一个窗口中的活动,您可以使用以下命令:

Ctrl+A, :monitor <window_number>

这将开始监视指定窗口中的活动。

要停止监视窗口中的活动,您可以使用以下命令:

Ctrl+A, :monitor off

这将停止监视当前窗口中的活动。

结论

screen 命令是一个功能强大的实用程序,可以在您使用 Linux 终端时让您的生活更轻松。它允许您在一个 shell 窗口或通过 SSH 连接创建和管理多个终端会话。凭借能够将终端窗口分割成多个区域、复制和粘贴文本以及在不同区域之间导航的能力,screen 命令可以帮助您管理长期运行的进程或多个命令,即使您没有物理连接到服务器。

在本文中,我们讨论了 Linux screen 命令的基础知识、其用法以及一些管理终端会话的实用技巧和窍门。我们希望本指南能帮助您在使用 Linux 终端时提高工作效率。

更新于:2023年3月23日

473 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.