终端录屏与播放script命令

avatar 2020年4月13日18:09:12 评论 1,776 次浏览

script是一个非常炫酷的命令,它可以将终端的所有操作和输入输出录制下来,并通过scriptreplay播放,是命令行版的“录像专家”。非常实用,例如你想教很多人配置一个软件,可以在自己配置时,将过程录下来,然后发给别人自学,

一、安装

多数操作系统都默认安装了,Redhat/Fedora/CentOS:

yum -y install util-linux-ng

Debian/ubuntu:

apt-get install bsdutils

二、录制和播放

录制

script -t -a 2> /tmp/time.txt /tmp/record.txt

为了不影响操作,要使用错误重定向,在录制过程中,使用Ctrl+d或者exit结束录制

简单说一下命令的参数:

-t 是把时间数据输出到标准错误(standard error),所以要用2>/tmp/time.txt把数据重定向到文件中一些情况下不需要重放,只要记录操作和输入输出,就可以不指定这个参数
-a 追加内容到文件,不会覆盖之前的记录
-q 安静模式,不会提示用script运行
-f在每次写入后清屏,在配合管道使用时很有用
-c 这些非交互式的运行命令或脚本 在一些程序或脚本在后台运行时很有用

2.2 播放

scriptreplay /tmp/time.txt /tmp/record.txt

2.3 记录用户操作

记录某个用户,在用户的~/.profile文件中加入:

/usr/bin/script -qa /tmp/user_record

记录所有用户的操作,需将上诉内容加载/etc/profile文件中。记录用户操作输出会比较多,回放非常耗时,所以通常不记录时间

2.4 实时广播操作

广播自己的操作给服务器上其它用户看,需要先创建一个管道:

mkfifo /tmp/fifo

将script输出到管道:

script -f /tmp/fifo

其它用户执行:

cat /tmp/fifo

就能实时查看到操作和输入输出了

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: