screen 命令及其示例
Linux 中的screen命令提供了从单个ssh会话启动和使用多个 shell 会话的功能。当使用“screen”启动进程时,该进程可以从会话中分离,然后可以在稍后重新连接该会话。当会话分离时,最初从屏幕启动的进程仍在运行并由屏幕本身管理。然后,该进程可以在稍后重新连接会话,并且终端仍在那里,就像它离开时一样。语法:
screen [-opts] [cmd [args]]
选项:
- -a:它将所有功能强制放入每个窗口的 termcap 中。
- -A -[r|R]:它使所有窗口适应新的显示宽度和高度。
- -c 文件:它读取配置文件而不是“.screenrc”。
- -d (-r):分离在其他地方运行的屏幕(然后重新连接到这里)。
- -dmS 名称:它作为守护进程启动:处于分离模式的屏幕会话。
- -D (-r):分离并注销远程(然后重新连接)。
- -D -RR:它会做任何需要的事情来获得屏幕会话。
- -e xy:改变命令字符。
- -f:打开流量控制,-fn = 关闭,-fa = 自动。
- -h lines:设置回滚历史缓冲区的大小。
- -i:当流控制开启时,它会更快地中断输出。
- -l:开启登录模式(更新/var/run/utmp),-ln = 关闭。
- -ls [match]:显示所有附加的屏幕。
- -L:打开输出日志。
- -m:忽略$STY 变量,创建一个新的屏幕会话。
- -O:它选择最佳输出而不是精确的 vt100 仿真。
- -p 窗口:如果存在,则预先选择命名的窗口。
- -q:安静启动。如果不成功,则以非零返回码退出。
- -Q:该命令将把响应发送到查询过程的标准输出。
- -r [会话]:重新连接到分离的屏幕进程。
- -R:如果可能则重新连接,否则开始新的会话。
- -S sockname:它将这个会话命名为.sockname,而不是…
- -t title:设置标题。(窗口的名称)。
- -T term:它使用 term 作为窗口的 $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 + ]:粘贴复制的文本。
示例:
安装
sudo apt install screen
- -S:它将在屏幕内启动一个新窗口,并为该窗口命名。它会创建一个由该名称标识的会话。该名称可用于在稍后重新连接屏幕。
screen -S file
- -ls:用于显示当前打开的屏幕,包括在后台运行的屏幕。它将列出所有已连接和已分离的屏幕会话。
- -d:用于分离屏幕会话,以便将来可以重新连接。也可以借助快捷键Ctrl-a + d来完成
screen -d 1643
- -r:用于重新连接之前分离的屏幕会话。
screen -r 1643