Linux-screen是一种用于简单复用单个ssh终端的工具。屏幕上有一个强大的竞争对手名为tmux,我们将在下面的文章中看到。屏幕具有这些功能,使系统管理员的生活更轻松。
- 单个ssh连接中的多个屏幕
- ssh断开后运行命令
- ssh断开连接后恢复屏幕会话
- 易于分割和复用单个窗口
安装
安装屏幕很简单,如下所示。
我们将使用以下命令在基于deb的发行版(如Ubuntu、Mint、Kali和Debian)中安装screen。
$ sudo apt install screen

我们将使用以下命令在基于rpm的发行版(如Fedora、CentOS、Red Hat)中安装screen。
$ sudo yum install screen
人屏幕
获取有关screen命令使用的详细帮助 人屏幕 命令如下
$ man screen

启动Linux屏幕
屏幕可以从一个简单的 屏幕 命令如下。这将创建一个与默认shell相同的新shell。
$ screen
签发后 屏幕 命令我们将看到一个关于shell的通知,我们将从下面开始。这个页面提供了关于screenshell的概要信息,稍后我们将在这里查看更多细节。

按 空间 启动shell

这是一个屏幕shell,与bash shell相同。
检查屏幕是否运行
在使用大量服务器时,我们可能需要检查屏幕是否正在运行。为了获得当前shell的状态,bash环境变量提供了关于终端的信息 期限 变量。从这里我们可以看到电流终端。

从结果可以看出,当前的shell是 屏幕 使用xterm支持256色。
控制命令
屏幕提供了许多功能。要激活这些功能,可以使用一些键盘快捷方式。我们称这些快捷方式为屏幕命令。要向屏幕发送命令,有一个名为 控制命令 . 简单控制命令指定下一个命令是关于屏幕的。默认的控制命令是 Ctrl+a键
Ctrl+a
创建新窗口
屏幕最常用的功能之一是创建新窗口。如前所述,屏幕可以用一个终端创建多个窗口,这对系统管理员非常有用。创建新窗口的快捷方式是
Ctrl+a c
首先按下默认的控制命令 Ctrl+a键 在新闻发布会之后 c 。这将创建一个具有如下shell的新窗口。

切换下一个窗口
在一个典型的屏幕使用将有多个窗口,所以我们如何才能在这些窗口之间切换。为了切换下一个窗口使用
Ctrl+a n
切换上一个窗口
屏幕的另一个导航快捷方式是切换上一个窗口。在窗口之间切换不会结束进程或关闭当前窗口。
Ctrl+a p
脱离屏幕
屏幕的另一个非常流行的用法是脱离屏幕。想想这些场景。我们正在复制一些大文件,但已经关闭了ssh会话。在这种情况下,我们可以分离当前屏幕会话,然后重新连接。
Ctrl+a d
列出现有会话
要重新连接屏幕会话,我们可能需要列出当前的现有会话。屏幕提供 -列表 选项列出这些分离的会话以及日期时间信息和会话名称。
$ screen -list

列表屏幕过程
我们可以在服务器中查找现有的屏幕会话。屏幕作为一个进程运行,就像bash会话一样。
$ ps aux | grep screen

如我们所见,进程id 12336是我们当前的屏幕终端
再附着
我们可以终止与远程服务器的连接。然后我们可以重新连接服务器并继续先前创建的屏幕会话。这被称为 reattach
. 在用ssh连接服务器之后,我们将重新连接screen会话。
$ screen -r

正如我们看到的,如果只有一个屏幕会话要重新连接,它将自动重新连接,但有多个屏幕会话,所以我们应该指定要重新连接的屏幕会话
$ screen -r 12587.pts-12.ubu1
保存终端命令
在远程系统中工作时,我们会发出很多命令。记住这些命令有时会很困难,特别是当我们尝试很多事情来解决问题时。屏幕提供运行会话的日志命令。会话结束后,我们可以查看在此会话中发出的命令。要启用命令历史记录,请使用以下命令。
Ctrl+a H
发出快捷方式后,将创建名为screenlog.0的日志文件。
读取历史记录
默认情况下,历史记录日志文件名为 screenlog.id
. 它们是简单的文本文件,可以像下面这样用cat读取。
$ cat screenlog.0

禁用保存终端
在启用终端日志记录之后,我们使用下面相同的命令来禁用它。
Ctrl+a H

启用监视
在多个窗口工作时,我们可以运行一些命令并切换到下一个窗口。如果上一个windows命令已完成,如何通知?该屏幕能够监视窗口,并在命令完成时提供通知。
Ctrl+a M

禁用监视
只需发出相同的命令t enable monitor将禁用对当前窗口的监视。
Ctrl+a M

锁屏会话
屏幕会话具有锁定功能,这与桌面管理器的屏幕锁定非常相似。要解锁屏幕,应输入当前用户的系统密码。
Ctrl+a x

停止或退出屏幕
使用后的最佳实践屏幕是使用下面的快捷方式关闭屏幕会话。这将关闭当前会话的所有窗口。
Ctrl+a k

“这会问问题” 真的要毁了这扇窗户 “按 y 终止会话