Linux 中的 screen 命令和示例
Linux 中的screen命令提供了从单个ssh会话启动和使用多个 shell 会话的能力。当一个进程以“screen”启动时,该进程可以与会话分离,然后可以在稍后重新连接会话。当会话被分离时,最初从屏幕启动的进程仍在运行并由屏幕本身管理。然后,该过程可以在稍后重新连接会话,并且终端仍然存在,就像离开时一样。
句法:
screen [-opts] [cmd [args]]
选项:
- -a:它强制所有功能进入每个窗口的 termcap。
- -A -[r|R]:使所有窗口适应新的显示宽度和高度。
- -c 文件:它读取配置文件而不是“.screenrc”。
- -d (-r):它分离别处的运行屏幕(并在此处重新附加)。
- -dmS name:它作为守护进程启动:分离模式下的屏幕会话。
- -D (-r):它分离和注销远程(并在此处重新连接)。
- -D -RR:它做任何需要获得屏幕会话的事情。
- -e xy:更改命令字符。
- -f:开启流量控制,-fn = off,-fa = auto。
- -h 行:它设置回滚历史缓冲区的大小。
- -i:当流量控制打开时,它会更快地中断输出。
- -l:开启登录模式 (update /var/run/utmp), -ln = off。
- -ls [match]:显示所有附加的屏幕。
- -L:打开输出日志。
- -m:它忽略 $STY 变量,创建一个新的屏幕会话。
- -O:它选择最佳输出而不是精确的 vt100 仿真。
- -p window:它预先选择命名的窗口(如果存在)。
- -q:安静启动。如果不成功,则以非零返回码退出。
- -Q:它命令将响应发送到查询过程的标准输出。
- -r [session]:它重新附加到一个分离的屏幕进程。
- -R:如果可能,它会重新连接,否则开始一个新的会话。
- -S sockname:它将此会话命名为 .sockname 而不是……
- -t title:设置标题。 (窗口名称)。
- -T 术语:它使用术语作为 Windows 的 $TERM,而不是“屏幕”。
- -U:它告诉屏幕使用 UTF-8 编码。
- -v:打印“Screen version 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:关闭当前窗口(杀死)。
- Ctrl-a + S:水平分割当前窗口。要在窗口之间切换,请执行 Ctrl-a + Tab。
- Ctrl-a + |:垂直拆分当前窗口。
- Ctrl-a + d:它在不停止的情况下分离屏幕会话。
- Ctrl-a + r:它重新附加一个分离的屏幕会话。
- Ctrl-a + [:启动复制模式。
- Ctrl-a + ]:粘贴复制的文本。
例子:
- 安装 screen 命令:要安装 screen 命令,只需转到终端并键入以下命令:
sudo apt install screen
- 屏幕:它将在屏幕内启动一个新窗口。
screen
- -S:它将在屏幕内启动一个新窗口,并为该窗口命名。它创建一个由该名称标识的会话。该名称可用于在稍后阶段重新附加屏幕。
screen -S file
- -ls:用于显示当前打开的屏幕,包括在后台运行的屏幕。它将列出所有附加的和分离的屏幕会话。
screen -ls
- -d:它用于分离屏幕会话,以便将来可以重新附加。也可以借助快捷键Ctrl-a + d 来完成
screen -d 1643
这里1643是我们要分离的屏幕 ID。
- -r:用于重新连接过去分离的屏幕会话。
screen -r 1643
笔记:
- 要查看 screen 命令的手册页,请使用以下命令:
man screen
- 要查看 screen 命令的帮助页面,请使用以下命令:
screen --help