使用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