首页 > 代码库 > Linux笔记之终端日志记录工具script

Linux笔记之终端日志记录工具script

在学习Linux时,有时候终端的打印消息对于我们非常重要,但是终端显示也是有一定的缓冲空间的,当打印信息非常多时,前面的信息就会被覆盖掉,所以这里网上搜索了一下这方面的介绍,现总结如下:    

script 是一个非常使用的工具,同时也足够的好玩。script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看。script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制。我们可以将这种录制应用在很多方面,诸如教学、演示等等。


    一般来说,script 和 scriptreplay 在 Linux 发行版中都有默认安装。如果你打算使用 script 开始录制终端会话,可以敲入下列指令: 
script -t 2>yangrui.timing -a yangrui.session
    该指令中的 -t 选项指明输出录制的时间数据,而 -a 选项则输出录制的文件(如果此文件已存在,则添加数据在后面)。你可以将指令中的 yangrui换成自己设置的文件名称。当终端中返回“Script started, file is yangrui.session”的信息时,你就可以进行需要录制的操作了。

如果需要结束录制过程,则输入

exit 

要播放已录制完成的终端会话,可以使用指令:

   scriptreplay yangrui.timing yangrui.session
就可以像看电影一样查看操作了,但是不能快进后退(也有可能是我暂时未发现,如果哪位懂得,可以顺便教一下我大笑)。个人建议使用:
cat yangrui.session

查看内容。如果在图形界面打开yangrui.session,会发现文件中将充满控制字符和ANSI转义序列,看起来如同乱码:


解决方法可以网上搜索到,个人建议使用命令行查看即可。


当下一次想继续录制时,就再次输入:

script -t 2>yangrui.timing -a yangrui.session

它就会把录制的数据放在上一次数据的后面,并自动用时间分隔开来。


关于 script 及 scriptreplay 的更多信息,可以使用 man script 或 man scriptreplay 查询。