如何使用Linux屏幕

发布于:2020-12-19 18:42:54

0

94

0

Linux 屏幕 控制指令 建立视窗

Linux屏幕允许您:

  • 在一个SSH会话中使用多个Shell窗口。

  • 即使在网络中断的情况下,也要保持外壳处于活动状态。

  • 从多个位置断开并重新连接到Shell会话。

  • 运行长时间运行的进程,而不维护活动的Shell会话。

Linux屏幕提示

我们每天都会使用屏幕,因此当我们找到好的提示时会不断添加新的提示。

用百胜安装屏幕

可能是您的系统上已经有屏幕了。在大多数Red Hat和CentOS发行版中,您可以在/ usr / bin / screen中找到Linux屏幕。要查看屏幕是否在您的路径中,可以使用which命令:

1个

2

[root@office ~]# which screen

/usr/bin/screen

如果没有屏幕,则可以从RPM或系统的软件包文件中轻松安装它。例如,在CentOS上,您可以使用yum安装屏幕:

1个

2

3

[root@office ~]# yum install screen

...

Complete!

由于您可能已经拥有Linux屏幕或可以使用RPM,所以我不会从源头介绍屏幕的构建。让我们继续介绍如何使用屏幕。

启动Linux屏幕

与其他任何命令一样,从命令行启动屏幕:

1个

[root@office ~]# screen

您现在位于屏幕内的窗口内。除了一些特殊字符外,此功能就像普通的shell。

控制指令

命令:“ Ctrl-a”

屏幕使用命令“ Ctrl-a”( 即控制键)和小写字母“ a”作为信号,将命令发送到屏幕而不是外壳。

例如,先按“ Ctrl-a”再按“?” 。现在,您应该具有屏幕帮助页面。

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

Screen key bindings, page 1 of 4.

 

Command key:  ^A   Literal ^A:  a

 

break      ^B b          only       Q

clear      C             other      ^A

colon      :             pow_break  B

copy       ^[ [          pow_detach D

detach     ^D d          prev       ^P p ^?

digraph    ^V            readbuf    <

displays   *             redisplay  ^L l

fit        F             removebuf  =

flow       ^F f          reset      Z

focus      ^I            screen     ^C c

hardcopy   h             select     '

help       ?             silence    _

按键绑定是在您按下“ Ctrl-a ”后屏幕接受的命令。您可以根据需要使用.screenrc文件重新配置这些键,但是我只使用默认值。

建立视窗

命令:“ Ctrl-a”“ c”。

要创建一个新窗口,只需使用“ Ctrl-a”“ c”

这将使用默认提示为您创建一个新窗口。您的旧窗口仍处于活动状态。

例如,我可以先运行然后打开一个新窗口来执行其他操作。顶级保持运行!它仍然在那里。要自己尝试,请启动屏幕,然后运行顶部。(注意:为了节省空间,我已将某些屏幕截断了。)

从头开始

1个

2

3

4

5

top - 09:10:33 up 35 days, 17:26,  1 user,  load averag

Tasks: 131 total,   1 running, 130 sleeping,   0 stoppe

Cpu(s):  0.4%us,  0.2%sy,  0.0%ni, 99.4%id,  0.0%wa,  0

Mem:  12302040k total,  6363652k used,  5938388k free,

Swap:  1052248k total,       12k used,  1052236k free,

现在打开一个新窗口,其中:“ Ctrl-a”“ c”

您的顶部窗口仍在运行,您只需切换回它即可。

在Windows之间切换

命令:“ Ctrl-a”“ n”

屏幕允许您前进和后退。在上面的示例中,您可以使用“ Ctrl-a”(n)返回顶部。此命令将您切换到下一个窗口。

窗户就像旋转木马一样工作,并会循环回到您的第一个窗户。

您可以创建多个窗口,并在下一个窗口中使用“ Ctrl-a”,“ n”或在上一个窗口中使用“ Ctrl-a”,“ p”来切换它们。

每个进程将一直运行,直到您杀死该窗口。

从屏幕上拆卸

命令:“ Ctrl-a”“ d”

分离是屏幕上最强大的部分。屏幕允许您从窗口分离并稍后重新连接。

如果您的网络连接失败,屏幕将自动断开您的会话!

您可以使用“ Ctrl-a”,“ d”从窗口分离。

这将使您进入外壳。

所有屏幕窗口仍然存在,您可以稍后将其重新连接。

当您使用rsync进行服务器迁移时,这非常有用。

重新连接到屏幕

如果连接断开或从屏幕上脱离,则可以通过运行以下命令重新连接:

1个

[jeffh@office ~]$ screen -r

这将重新连接到您的屏幕。

但是,如果您有多个屏幕,则可能会得到以下提示:

1个

2

3

4

5

[jeffh@office ~]$ screen -r

There are several suitable screens on:

31917.pts-5.office      (Detached)

31844.pts-0.office      (Detached)

Type "screen [-d] -r [pid.]tty.host" to resume one of them.

如果得到这个,只需指定所需的屏幕即可。

1个

[jeffh@office ~]$ screen -r  31844.pts-0.office

记录屏幕输出

作为顾问,我发现跟踪我对某人服务器所做的事情很重要。幸运的是,屏幕使这变得容易。

使用“ Ctrl-a”“ H”创建会话的运行日志。

屏幕将通过多个会话将数据追加到文件中。使用日志功能对于捕获所做的工作非常有用,尤其是在进行大量更改的情况下。如果出现问题,可以查看日志。

获取警报

屏幕可以监视窗口是否活动。如果您要下载大文件,进行编译或等待输出,则该功能非常有用。

如果您正在等待长时间运行的程序的输出,则可以使用“ Ctrl-a”“ M”查找活动。当在该屏幕上注册输出时,屏幕将在页面底部闪烁警报。

我在运行需要很长时间才能返回数据的命令时使用它。我可以启动命令,切换到另一个窗口,而不必继续切换回去检查状态。

您也可以监视不活动状态。为什么要使用这个?

如果要下载大文件或编译程序,则在没有更多输出时会得到通知。这是完成该工作的好信号。要监视静音或无输出,请使用“ Ctrl-A”“ _”。

锁定屏幕会话

如果您需要离开计算机一分钟,可以使用“ Ctrl-a”“ x”锁定屏幕会话。  这将需要密码才能再次访问会话。

1个

2

Screen used by root <jeffh>.

Password:

停止画面

完成工作后,建议您停止会话,而不要保存以供以后使用。要停止屏幕,通常只需在shell中键入exit。这将关闭该屏幕窗口。您必须关闭所有屏幕窗口才能终止会话。

关闭所有窗口后,您应该会收到有关屏幕终止的消息。

1个

[screen is terminating]

或者,您可以使用“ Ctrl-a”,“ k”。如果您想终止屏幕,应该会收到一条消息。