当你需要为别人在终端上演示某些操作或是需要准备一个命令行教程时,通常得一边手动输入命令一边演示,或者也可以录制一段屏幕演示视频,然后再回放出来。其实也有其他的实现方法。利用script和scriptreplay命令,我们可以录制命令的次序以及时序,将相关数据记录在文本文件中。利用这些文件,其他人可以在终端上回放并查看命令的输出。
开始录制终端会话:
$ script -t 2> timing.log -a output.session
type commands;
…
..
exit
注意,对于不支持单独将stderr重定向到文件的shell(比如cshshell),这则攻略是没法使用的。
两个配置文件被当做script命令的参数。其中一个文件(timing.log)用于存储时序信息,描述每一个命令在何时运行;另一个文件(output.session)用于存储命令输出。-t选项用于将时序数据导入stderr。
2>则用于将stderr重定向到timing.log。
利用这两个文件:
timing.log(存储时序信息)和output.session(存储命令输出信息),我们可以按照下面的方法回放命令执行过程:
$ scriptreplay timing.log output.session #按播放命令序列输出
通常,linux工程师会录制桌面环境视频来使用。但是视频需要大量的存储空间,而终端脚本文件仅仅是一个文本文件,其文件大小不过是KB级别。你可以把timing.log和output.session文件分享给任何想在自己的终端上回放这段终端会话的人。