用script命令录制terminal

-- TOC --

Linux下有一个script命令,可以将用户与terminal的交互全部录制(录文字)下来,交互数据保存在一个文件里面。

$ script -a abc

输入此命令后,tty或pty后面所有的内容,都将被保存在abc文件中。-a表示append。最后用exit命令退出,录屏结束(exit其实是退出默认执行的bash命令)。

abc文件是二进制的,里面包含了各种控制terminal的字符,最好使用cat命令查看。cat命令可以将二进制文件的内容重新输出到terminal。

script命令默认启动bash,也可以通过-c参数指定要录制的命令:

$ script -c python3 abc

退出python3解释器,terminal录制结束。

如果喜欢在python解释器中直接写代码,有担心不方便保存,这个方法不错。

有一个跟script命令配套的命令,叫做scriptreplay,用来回放与terminal的交互,但需要在script命令中使用--timing参数,记录时间:

$ script --timing=scriptime abc
......
$ scriptreplay -t scriptime -s abc
...... # terminal replay

Python3的lib中有个pty模块,官方手册在pty模块的说明中,提供了一个用pty模块接口实现的模拟script命令的程序。

本文链接:https://cs.pynote.net/sf/linux/shell/202204291/

-- EOF --

-- MORE --