script命令录屏

时间:2023-03-08 20:24:50

关于linux上的操作,我们的确可以使用'history'命令来显示出来操作记录,但是有些时候,我们不仅仅需要知道做了什么,还需要知道操作的时候,产生了什么效果,这个时候‘history’命令就显示无能为力了,录屏命令'script'该一展身手了。

录制使用举例:

$ script -t 2>time.file -a output.file #开始录制了

$ ls -al

  1.c 2.c 3.c #执行一个命令

$exit #结束录制

使用说明

1.script/scriptrelpay实现依赖于一个时间点文件time.file和一个输出文件output.file。

2.执行scriptreplay可以模拟之前录制的行为,但务必注意:回放并不能产生任何实际的改变

(例如我在录制期执行了touch 1.cpp但是回放时并不能真的创建这个文件)

3. 因此此命令一般用于演示,其最大的优点在于可复制两个文本文件,并在不同设备间回放该脚本

参数说明:

1.若想实现完整的录制功能,就必须有一个time文件,文件名可以任意取但一定注意 -t后面的2>。这条语句是将stderr重定向输出到文件。缺少这段语句将失去模拟回放的功能

2.output.file存储了全部的输出信息,也是我们回放信息的来源。-a的意义是将输出append到文件。之所以这么做是因为在录制期间我们已经对命令行作了有效的输出,所以若要保留这些输出信息,必须把输出流复制一下,也就是append。

3.如果不添加-a output.file这段语句,则默认生成一个名为typescript的文件,可以使用这个默认文件作为output.file

4.output.file中除了输出的文本信息外,还保存了光标移动的信息。

5.录制脚本后用exit推出

6.如果开始一次新的录制,应该创建两个新的记录文件而非使用原来的。因为脚本的append方式并不会将原来文件内容清空而是在末尾添加。

回放举例:

$ scriptreplay time.file output.file #脚本将会自动回放

对于我而言,我会在回放的时候添加一个参数 -d $num ,用来快进或者放慢,小于1 的小数表示减慢,大于1的数表示加快,比如

scriptreplay time.file output.file   -d  2    #快进两倍

如果scriptreplay命令不存在,如下安装:

安装scriptreplay:

1. wget http://dxdown.onlinedown.net/down/util-linux-ng-2.17.2.tar.zip
2. unzip util-linux-ng-2.17.2.tar.zip
3. tar zxvf util-linux-ng-2.17.2.tar.gz
4. cd util-linux-ng-2.17.2
5.  ./configure && make (注意此处只是make了)
6. cp misc-utils/scriptreplay /usr/bin/
如果安装失败,报错:

configure: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)

只要将上面的第五条命令改成:

./configure --without-ncurses && make 
就可以跳过校验成功编译scriptreplay命令

此外,windows也有类似录屏的命令,即问题记录器,使用问题步骤记录器的方法非常简单,在开始菜单中找到「运行」或通过快捷键「Windows+R」来打开运行窗口,
输入「psr」后直接回车,即可看到问题步骤记录器的主界面。
参考:http://www.sohu.com/a/191243679_444417