一、介绍
screen
是一个强大的命令行工具,用于在 Linux 和其他类 Unix 系统中创建可持久化的、多窗口的终端会话。它允许用户在一个单一的终端窗口中管理多个会话,并且即使网络中断或终端关闭,也能保持会话持续运行。
二、安装
sudo apt-get install screen
三、使用
screen -S session_name | 创建新的对话 |
screen -ls | 查看窗口 |
screen -r [session_name_or_pid] | 重新连接(reattach)会话,只能连接到screen -ls显示状态为Detached的会话 |
screen -d [session_name_or_pid] | 脱离(detach)会话 |
echo $STY | 显示当前所属会话id.name |
exit | 关闭窗口 |
Ctrl + d | 关闭窗口 |
kill [session_pid] | 删除这个窗口及其进程 |
screen -X -S [name_or_pid] quit | 强制结束会话 |
screen -x [session_name] | 允许多人同时查看和控制同一会话 |
screen -wipe | 用于清理已结束但仍在 screen 会话列表中显示的“僵尸”会话 |
在
screen
会话内部,有很多有用的组合按键(以Ctrl + a
作为前缀)来帮助你管理和导航你的会话。比如创建新窗口 (Ctrl + a, c
),先按下Ctrl + a
,释放这两个键后在终端输入 c ,此时会新建一个新的窗口。
基本操作 | ||
Ctrl + a | c | 创建新窗口 |
Ctrl + a | n | 切换到下一个窗口 |
Ctrl + a | p | 切换到上一个窗口 |
Ctrl + a | " | 显示所有窗口的列表 |
Ctrl + a | A | 允许重命名当前窗口 |
Ctrl + a | x | 锁定当前会话,需要密码解锁 |
Ctrl + a | d | 让会话在后台运行,你可以退出终端而不影响会话 |
窗口和会话管理 | ||
Ctrl + d | 关闭当前窗口 | |
Ctrl + a | k | 强制杀死当前窗口 |
Ctrl + a | A | 会话重命名 |
Ctrl + a | i | 查看当前窗口信息 |
Ctrl + a | 窗口编号 | 切换到指定窗口 |
滚动和屏幕操作 | ||
Ctrl + a | [ | 滚动缓冲区开启,用上下箭头滚动, Esc 退出 |
Ctrl + a | [ | 进入后可看历史输出,并使用空格开始选择文本复制 |
Ctrl + a | ] | 粘贴复制的文本 |
高级操作 | ||
Ctrl + a | : | 输入monitor on,开启监视模式,显示窗口的活动 |
Ctrl + a | " | 发送命令到所有窗口,输入ctrl+a+"后输入ctrl+d执行 |