您目前正在以移动设备友好模式浏览该网站,这可能会导致您无法访问所有页面内容。 如需更多信息,请 »点击此处«
本文最后更新于2024-11-01。 更新日志在文章末尾。
本文共898字,预计阅读时间约4分钟。
想知道阅读你的文章需要多长时间吗? 为什么不 »点击这里« 尝试一下呢!
为什么要筛选?
您是否遇到过这样的情况:您在远程计算机上执行一项长时间运行的任务,然后突然连接断开,SSH 会话终止,您的工作丢失。 嗯,我们所有人都曾经遇到过这种情况,不是吗? 幸运的是,有一个名为
介绍
Screen 或 GNU Screen 是一个终端多路复用器。 换句话说,这意味着您可以启动一个屏幕会话,然后在该会话内打开任意数量的窗口(虚拟终端)。 即使您断开连接,Screen 中运行的进程在其窗口不可见时仍将继续运行。
安装 Linux GNU Screen
目前,大多数 Linux 发行版都预装了 screen 包。
您可以通过输入以下命令来检查它是否已安装在您的系统上:
如果您没有安装 screen, 您可以使用包管理器轻松安装它:sudo apt update && sudo apt install screen
开始 Screen 会话
要启动屏幕会话,只需在控制台中输入
要启动命名会话,请使用
使用 Linux 屏幕窗口
当您启动新的屏幕会话时,它会创建一个带有 shell 的单个窗口。 您可以在 Screen 会话内拥有多个窗口。 要创建一个具有 shell 类型
以下是一些用于管理 Linux Screen Windows 的最常用命令:
Ctrl+a
c
创建一个新窗口(带有外壳)。Ctrl+a
"
列出所有窗口。Ctrl+a
0
切换到窗口 0(按编号)。Ctrl+a
A
重命名当前窗口。Ctrl+a
S
将当前区域水平分割为两个区域。Ctrl+a
|
将当前区域垂直分割为两个区域。Ctrl+a
tab
将输入焦点切换到下一个区域。Ctrl+a
Ctrl+a
在当前窗口和上一个窗口之间切换Ctrl+a
Q
关闭除当前区域之外的所有区域。Ctrl+a
X
关闭当前区域。
从 Linux Screen 会话分离/重新连接
您可以随时通过输入以下命令退出屏幕会话: Ctrl+a
d
当您脱离会话后,在屏幕会话中运行的程序将继续运行。
要恢复屏幕会话,使用 screen -r
要查找当前正在运行的屏幕会话的会话 ID 列表 ,请使用 screen -ls
要恢复 ID 为的屏幕会话,请使用 screen -r [session ID]
选项和快捷键
选项
- -a: 它强制将所有功能放入每个窗口的 termcap 中。
- -A -[r|R]: 它使所有窗口适应新的显示宽度 & 高度。
- -c file: 它读取配置文件而不是“.screenrc”。
- -d (-r): 它分离在其他地方运行的屏幕(并重新连接到这里)。
- -dmS 名称: 它作为守护进程启动:处于分离模式的屏幕会话。
- -D (-r): 它分离并注销远程(并在这里重新连接)。
- -D -RR: 它会做任何需要做的事情来获得屏幕会话。
- -e xy: 它改变命令字符。
- -f: 它使流量控制打开,-fn = 关闭,-fa = 自动。
- -h 行: 它设置回滚历史缓冲区的大小。
- -i: 当流控制开启时,它会更快地中断输出。
- -l: 它使登录模式开启(更新 /var/run/utmp),-ln = off。
- -ls [match]: 它显示所有附加的屏幕。
- -L: 它打开输出日志。
- -m: 它忽略 $STY 变量,创建一个新的屏幕会话。
- -O: 它选择最佳输出而不是精确的 vt100 仿真。
- -p 窗口: 如果存在,则预先选择命名的窗口。
- -q: 它安静启动。 如果不成功则退出并返回非零代码。
- -Q: 该命令将把响应发送到查询过程的标准输出。
- -r [session]: 它重新连接到一个分离的屏幕进程。
- -R: 如果可能则重新连接,否则开始新的会话。
- -S sockname: 它将此会话命名为 .sockname 而不是 …
- -t 标题: 它设置标题。 (窗口的名称)。
- -T 术语: 它使用术语 $TERM 来表示窗口,而不是“屏幕”。
- -U: 它告诉屏幕使用 UTF-8 编码。
- -v: 它打印“屏幕版本 4.06.02 (GNU) 23-Oct-17”。
- -x: 它附加到未分离的屏幕上。 (多显示模式)。
- -X: 它在指定的会话中作为屏幕命令执行。
快捷键
- Ctrl-a + c: 它创建一个新窗口。
- Ctrl-a + w: 它显示当前打开的所有窗口的列表。
- Ctrl-a + A: 它重命名当前窗口。 当您列出使用 Ctrl-a + w 打开的窗口列表时,将会出现该名称。
- Ctrl-a + n: 它进入下一个窗口。
- Ctrl-a + p: 它转到上一个窗口。
- Ctrl-a + Ctrl-a: 返回到最后使用的窗口。
- Ctrl-a + k: 它关闭当前窗口(kill)。
- Ctrl-a + S: 它水平分割当前窗口。 要在窗口之间切换,请按 Ctrl-a + Tab。
- Ctrl-a + |: 它垂直分割当前窗口。
- Ctrl-a + X: 关闭活动分割窗口
- Ctrl-a + Q: 关闭所有分割窗口
- Ctrl-a + d: 它分离屏幕会话但不停止它。
- Ctrl-a + r: 它重新连接一个分离的屏幕会话。
- Ctrl-a + [: 它启动复制模式。
- Ctrl-a + ]: 粘贴复制的文本。
本文最初完成于2024-11-01。
v1.0.0 - 2024-11-01 更新。