文章目录
- 0.Screen简介
- 1.功能介绍
- 2.Screen安装
- 3.基本用法
- 4.常用快捷键
- 5.其他有用功能
- 6.小结
在使用linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session。又比如,在使用linux终端运行程序时,我们需要显示运行,但是连接中断的话程序也会中断,这个时候如果能将程序显示运行于后台就好了。screen
命令可以解决这些问题。
0.Screen简介
Screen
是一个流行的终端会话管理工具,通常用于在 Linux 和 Unix 系统中。它允许用户在一个单一的终端窗口内,通过对多个虚拟终端会话(称为“窗口”)进行管理,进而运行多任务,并在不同的会话之间切换,即使用户断开连接,进程也能继续运行。screen 工具特别适用于需要长期运行的任务、远程管理和调试等场景。
1.功能介绍
会话管理:用户可以在单一的物理终端上运行多个终端会话,每个会话独立运行,这意味着如果一个会话出错崩溃,其他会话不会受到影响。
会话保持:即使断开网络连接,使用 screen 运行的会话也会保持活动状态。用户可以在连接成功后重新附加到这些会话,这对于需要长时间运行的任务尤其有用。
多窗口:通过 screen,用户可以在一个屏幕上分裂出多个窗口,每个窗口可以运行不同的任务或程序。
快捷键支持:screen 提供了丰富的快捷键支持,使得在不同会话之间切换和管理会话更为高效。
会话共享:多个用户可以同时连接到同一个 screen 会话,实现会话共享,这对于多人协作十分有用。
2.Screen安装
Debian/Ubuntu系统:
sudo apt install screen
CentOS/RHEL系统:
使用 yum 安装(CentOS 7 及之前版本):
sudo yum install screen
使用 dnf 安装(RHEL 8 及之后的版本):
sudo dnf install screen
Fedora系统:
sudo dnf install screen
macOS系统:
可以通过 Homebrew 来安装,确保 Homebrew 已经安装,可以通过终端命令来安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install screen
验证安装
screen --version
3.基本用法
启动一个新的 Screen 会话
screen ## 启动一个新的 screen 会话,并打开一个新的 shell。
命名一个新的 Screen 会话
screen -S session_name ## 这将启动一个新的 screen 会话并为其命名,有助于在多个会话之间进行区分。
列出当前所有的 Screen 会话
screen -ls ## 这会列出所有当前正在运行的 screen 会话。
重新连接到一个已经分离的 Screen 会话
screen -r session_name ## 使用会话名称 重新连接
screen -r 12345 ## 使用会话 ID 重新连接
分离(Detach)当前会话
在一个 screen 会话中,你可以按下 Ctrl-a 后再按下 d 键,以将当前会话分离回后台。会话仍在后台运行。
Ctrl-a d ## 将当前会话分离回后台,会话仍在后台运行
4.常用快捷键
Ctrl-a c
:创建一个新的窗口并切换到该窗口。Ctrl-a n
:切换到下一个窗口。Ctrl-a p
:切换到前一个窗口。Ctrl-a d
:分离会话,保持后台运行。Ctrl-a k
:关闭当前窗口(Kill window)。Ctrl-a 0..9
:快速切换到指定编号的窗口。Ctrl-a " "
:列出所有窗口,供选择切换。
5.其他有用功能
- 日志记录:可以通过
Ctrl-a H
启动和停止当前窗口的日志记录,日志文件会被保存在当前目录中。 - 屏幕分割:可以通过
Ctrl-a S
分割当前窗口,然后使用Ctrl-a TAB
在各个区域间切换,使用Ctrl-a X
关闭当前区域。 - 拷贝模式:使用
Ctrl-a [
进入拷贝模式,这允许你滚动并查看窗口的输出历史。
6.小结
Screen
为用户提供了优秀的多任务处理和远程会话保持能力。有需求的用户可以根据自己的工作需求来最大化利用 screen 的强大功能,提高工作效率。