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>
调整区域大小
您可以使用以下命令调整屏幕不同区域的大小 -
Ctrl+A, :resize +<number>
这将使当前区域的大小增加指定的行数。
Ctrl+A, :resize -<number>
这将使当前区域的大小减少指定的行数。
复制和粘贴文本
您可以使用以下命令在屏幕的不同区域之间复制和粘贴文本 -
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>
这将切换到指定的窗口编号。
向其他窗口发送命令
您可以在同一屏幕会话中向其他窗口发送命令,而无需切换到它们。
要向另一个窗口发送命令,您可以使用以下命令 -
Ctrl+A,:number <window_number> stuff '<command>
'
这将向指定窗口发送指定的命令。
监控其他窗口中的活动
您可以在同一屏幕会话中监控其他窗口中的活动,而无需切换到它们。
要监控另一个窗口中的活动,您可以使用以下命令 -
Ctrl+A,:monitor <window_number>
这将开始监控指定窗口中的活动。
要停止监控窗口中的活动,您可以使用以下命令 -
Ctrl+A, :monitor off
这将停止监控当前窗口中的活动。
结论
screen 命令是一个功能强大的实用程序,可以让您在 Linux 终端上工作时更加轻松。它允许您在单个 Shell 窗口内或通过 SSH 连接创建和管理多个终端会话。screen 命令能够将终端窗口拆分为多个区域、复制和粘贴文本以及在不同区域之间导航,即使您没有物理连接到服务器,它也能帮助您管理长时间运行的进程或多个命令。
在本文中,我们讨论了 Linux screen 命令的基础知识、其用法以及一些有效管理终端会话的实用技巧。我们希望本指南能够帮助您在 Linux 终端上工作时提高工作效率。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

