使用Script命令,我们可以在typescript文件中记录终端会话,并在以后使用Cat命令或任何其他文本查看应用程序查看它们。现在,我们将看看如何在Linux上使用Scriptreplay命令重放录制的终端会话。

Scriptreplay用于将“Script”命令创建的typescript重放到标准输出。在基于rpm的系统上,它是util-linux包的一部分,在基于deb的系统上,它是bsdutils包的一部分,并且它预装在大多数现代Linux操作系统上。所以,我们不需要安装它。

使用Scriptreplay回放录制的终端会话

您可能已经知道,cat命令将只显示typescript,但不会播放它们。如果你想要回放终端活动而不是仅仅查看它,使用“scriptreplay”命令。

要使用scriptreplay重播终端活动,您必须首先使用带有计时信息的“script”命令在文件中使用-t参数记录它,如下所示。

linuxmi@linuxmi:~/www.linuxmi.com$ script -a linuxmi_terminal_activities -t=linuxmi.log

或者

linuxmi@linuxmi:~/www.linuxmi.com$ script -a linuxmi_terminal_activities –timing=linuxmi.log

输出如下:

脚本已启动,文件为 linuxmi_terminal_activities

在这里,

  • log是包含typescript定时输出的文件。您可以使用您选择的任何名称,例如linuxmi.com.txt,linuxmi.com.log等等。
  • linuxmi.com_terminal_activities是包含输出脚本的终端输出的文件,也就是所有记录的终端活动。

现在,在终端上做任何你想做的事情。例如,我将在我的终端中随便运行一些Linux命令。

linuxmi@linuxmi:~/www.linuxmi.com$ uname -a

linuxmi@linuxmi:~/www.linuxmi.com$ lsb_release -a

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

linuxmi@linuxmi:~/www.linuxmi.com$ exit

记得一定要运行exit命令退出录制,否则录制的内容不能保存。

录制结束后,用命令回放即可:

linuxmi@linuxmi:~/www.linuxmi.com$ scriptreplay -t=linuxmi.log linuxmi_terminal_activities

或者

linuxmi@linuxmi:~/www.linuxmi.com$ scriptreplay –timing=linuxmi.log my_terminal_activities

这个命令将开始重播录制的终端会话,下面是我的Ubuntu 18.04系统的输出示例:

增加或降低播放速度

默认情况下,Scriptreplay将以与typescript录制时最初出现的速度相同的速度重放输出。但是,您可以根据自己的喜好增加或减少播放速度。

例如,要以原始速度的两倍(即2倍的速度)重放typescript,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ scriptreplay -t=linuxmi.com.log linuxmi.com_terminal_activities 2

以原速度的一半重放typescript:

linuxmi@linuxmi:~/www.linuxmi.com$ scriptreplay -t=linuxmi.com.log linuxmi.com_terminal_activities 0.5

要以比原始速度十分之一的速度重放脚本,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ scriptreplay -t=linuxmi.com.log linuxmi.com_terminal_activities 0.1

请注意,Scriptreplay只是显示用Script命令记录的会话活动。它不会实际运行当typescript被记录时运行的命令/程序。由于相同的信息被简单地显示出来,scriptreplay只有在与typescript被记录在相同类型的终端上运行时才能保证正常工作。

帮助,请运行:

$ scriptreplay –help

使用方法:

scriptreplay [-t] timingfile [typescript] [divisor]

选项

-t, –timing <file> 脚本计时输出文件
-s, –typescript <file> 脚本终端会话输出文件
-d, –divisor <num> 使用时间除数加速或减慢执行
-m, –maxdelay <num> 更新之间最多等待这么多秒
-h, –help 显示帮助
-V, –version 显示版本信息

更多细节可以在手册页中找到。

linuxmi@linuxmi:~/www.linuxmi.com$ man scriptreplay

发表评论

电子邮件地址不会被公开。 必填项已用*标注