2.3录制并回放终端会话
当你需要为别人在终端上演示某些操作或是需要准备一个命令行教程时,通常得一边手动输入命令一边演示,或是录制一段屏幕演示视频,然后再回放出来。其实可以利用script和scriptrepaly命令,我们可以录制命令的次序以及时序,将相关数据记录在文本文件中。利用这些文件,其他人可以在终端上回放并查看命令的输出。
1、script和scriptreplay命令把终端回话记录到一个文件中,你可以通过录制终端会话来制作命令行教学视频,也可以与他人分享会话记录文件,共同研究如何使用命令行完成某项任务。
2、开始录制终端会话
$ script -t 2> timing.log -a output.session
type commands;
...
..
exit
注意:对于不支持单独将stderr重定向到文件的shell(比如csh shell)
两个配置文件将被当做script命令的参数。其中一个文件(timing.log)用于存储时序信息,描述每一个命令在何时运行,另一个文件(output.session)用于存储命令输出。-t 选项用于将时序数据导入stderr。2>则用于将stderr重定向到timing.log。
利用这两个文件:timing.log(存储时序信息)和output.session(存储命令输出信息),可以按照下面的方法回放命令执行过程:
$ scriptreplay timing.log output.session
#按播放命令序列输出