红联Linux门户
Linux帮助

Linux终端录屏与播放script命令

发布时间:2015-09-05 15:34:17来源:cnblogs.com/Suzzz/作者:Suzzz

有时候可能想要记录在终端的所有操作包括输出等,将来作为视频播放。系统管理员可能需要记录某些用户的操作。另外可能有时需要向人实时演示一些操作流程。 这些都可以通过script来实现。


script简介

script命令用来将终端会话保存。用法如下

Usage:
script [options] [file]

Options:
-a, --append            append the output
-c, --command <command> run command rather than interactive shell
-r, --return            return exit code of the child process
-f, --flush             run flush after each write
--force             use output file even when it is a link
-q, --quiet             be quiet
-t, --timing[=<file>]   output timing data to stderr (or to FILE)
-V, --version           output version information and exit
-h, --help              display this help and exit


常用的有

-a  指定输出附加到一个文件中,不会覆盖,这样可以一直使用同一个文件

-t   用来输出时间信息,回放的时候用到

-q   不显示script启动和exit的命令,这样用户可以完全察觉不到在录屏

-f   每次操作后都立即刷新缓存。 如果不设置这个选项,则不会实时写入文件。


用法示例
记录

Linux终端录屏与播放script命令

提示script启动,并且记录到指定文件中。 如果这个文件已存在,希望追加记录,加上 -a  选项

使用Ctrl + D 后者 exit退出记录

如果想要同时输出时间文件

script -t timingfile -a scriptfile


回放

需要 scriptreplay 这个命令

scriptreply timingfile scriptfile

效果就和视频录制的差不多


自动记录用户活动

可以在用户的 .profile中添加上

/usr/bin/script -qa  logfile

下次用户登陆,script就会自动保存到 logfile

-q 是为了不显示 “ Script started...."这样的提示文本,从而使用户完全察觉不到script的存在。


向多个用户广播自己的终端操作

操作这本身在终端中建立一个 fifo 文件(关于fifo和mkfifo,可以放狗搜一下),用于通信

$ mkfifo PATH/testfifo

其他多个用户查看这个文件

$ cat PATH/testfifo

操作者开始用script记录自己的操作,并实时保存到 testfifo 中

script -f PATH/testfifo

记得最开始讲的 -f 作用吧? 让script实时写到文件中

这样,其他用户就可以看到操作者的演示了。


Linux命令之script:http://www.linuxdiyf.com/linux/11916.html

Linux sed命令参数及用法详解-Linux利用script来处理文本文件:http://www.linuxdiyf.com/linux/3651.html

鸟哥的Linux私房菜Shell script课后练习第十二章:http://www.linuxdiyf.com/linux/6710.html