如何使用Scriptreplay命令重放录制的终端会话

时间:2020-03-21 11:44:51  来源:igfitidea点击:

之前我们已经学会了如何在Linux上使用脚本命令录制终端中所做的一切。

使用Script命令,我们可以将终端会话录制在打字文件中,并使用CAT命令或者任何其他文本查看应用程序稍后查看它们。
今天,我们将看到在Linux上使用Scriptreply命令重放录制的终端会话。

Scriptreplay用于重新扮演由"脚本"命令创建的类型标注标准输出。
它是基于RPM的系统和基于Deb的系统的BSDutils包上的UTIL-Linux包的一部分,并在大多数现代Linux操作系统上预安装。
所以,我们不需要安装它。

使用Scriptreplay重播录制的终端会话

正如我们所知道的那样,CAT命令只将显示器类型签字,但不会播放它们。
如果要重播终端活动而不是只需查看它,请使用"scriptreplay"命令。

要使用Scriptreplay重放终端活动,我们必须首先使用"脚本"命令使用如下所示的文件中的文件中的定时信息记录。

$script -a my_terminal_activities -t=time.log

或者,

$script -a my_terminal_activities --timing=time.log

其中

  • 终端.Log是包含打字标记的定时输出的文件。我们可以使用我们选择的任何名称,例如time.txt,timing.log等。
  • my_terminal_activities是包含输出脚本的终端输出的文件,例如:所有录制的终端活动。

现在,请在终端中做任何我们想要做的事情。
例如,我将在我的终端中运行一些随机的Linux命令。

$lsb_release -a
$uname -a

运行所有命令后,使用命令结束录制:

$exit

完成录制后,只需用命令重播它:

$scriptreplay -t=time.log my_terminal_activities

或者,

$scriptreplay --timing=time.log my_terminal_activities

此命令将开始重播录制的终端会话,而不是显示整个活动。

这是我的Ubuntu 18.04系统的示例输出:

增加或者减少播放速度

默认情况下,Scriptreplay将以与Ringscript录制时最初出现的方式重播输出相同的速度。
但是,我们可以根据我们提高或者减少播放速度。

例如,要在双倍(即2x速度)的原始速度下重放打印术语,运行:

$scriptreplay -t=terminal.log my_terminal_activities 2

重播原始速度的一半:

$scriptreplay -t=terminal.log my_terminal_activities 0.5

重播脚本的速度慢于原始速度,运行:

$scriptreplay -t=terminal.log my_terminal_activities 0.1

请注意,Scriptreplay只显示使用脚本命令记录的会话活动。
它实际上不会运行录制打字条件时运行的命令/程序。
由于简单地显示了相同的信息,因此只有在相同类型的终端运行时,才能保证扫描程序才能正常工作,因此录制打印件。

有关帮助,请运行:

$scriptreplay --help
Usage:
 scriptreplay [-t] timingfile [typescript] [divisor]
Play back terminal typescripts, using timing information.
Options:
 -t, --timing <file>     script timing output file
 -s, --typescript <file> script terminal session output file
 -d, --divisor <num>     speed up or slow down execution with time divisor
 -m, --maxdelay <num>    wait at most this many seconds between updates
 -h, --help              display this help
 -V, --version           display version

可以在人员页面中找到更多详细信息。

$man scriptreplay