使用 script 录制终端会话
<script type="text/javascript"><!-- google_ad_client = "pub-9432205671574187"; //LT, 300x250 google_ad_slot = "9869120281"; google_ad_width = 300; google_ad_height = 250; //--></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script> <script>window.google_render_ad();</script>
script 真是一个神奇的小家伙,别看它小不起眼,可是却足够的好玩。script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看。script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制。试想一下,我们可以将这种录制应用在很多方面,诸如教学、演示等等。
一般来说,script 和 scriptreplay 在 Linux 发行版中都有默认安装。如果你打算使用 script 开始录制终端会话,可以敲入下列指令:
script -t 2>demo.timing -a demo.session
该指令中的 -t 选项指明输出录制的时间数据,而 -a 选项则输出录制的文件。你可以将指令中的 demo 换成自己设置的名称。当终端中返回“Script started, file is demo.session”的信息时,你就可以进行需要录制的操作了。
如果需要结束录制过程,则输入 exit
即可。
要播放已录制完成的终端会话,可以使用指令:scriptreplay demo.timing demo.session
关于 script 及 scriptreplay 的更多信息,可以使用 man script 或 man scriptreplay 查询。
[via]
真神奇!
这个太有意思了
好东西,估计这样的小玩意儿,linux各发行版的基础安装包里面有不少。
希望有了解的各位给多多介绍下哈。
我只能用script -t 2>demo.timing -a demo.session,没有scriptreplay,难道要安装?
太好玩了~~~
不错不错,以后就不用复制粘帖了呵呵
使用script录制终端会话…
转自linuxtoy
英文出处在这儿
ubuntu feisty默认是安装的。
script 真是一个神奇的小家伙,别看它小不起眼,可是却足够的好玩。script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以…..
嗯,播放是不依赖于系统命令的,只要是一个支持ANSI控制码的终端就能再现;
要求播放终端的大小和录制终端的大小一致,否则可能会出现显示偏差;
显示的内容完全存放在demo.session中,辅以demo.timing中的时刻和控制操作来在屏幕显示;
甚至可以录制vim的编辑过程,在没有(或者配置不同的)vim的机器上也能完美再现编辑操作的过程;
多好的命令啊。。。
scriptreplay是一个perl文件。直接从官方下载它的包 ftp://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.12r.tar.bz2,将其解压缩后,find . -name /’scriptreplay.pl/’就可以找到了,将它放到系统目录即可直接运行了,前提是你安装了perl,我想一般的linux中都有perl这个软件包。
我用的是Archlinux系统,它装了util-linux,有script命令,但是没有scriptreplay命令。
It works to record on ncurses application too. Cool!
[...] source:http://linuxtoy.org/archives/
record-terminal-session-with-script.html [...]