script 和 scriptreplay两个命令在 Linux 发行版中都有默认安装。shell
# script -t 2> time.file -a scriptfile time.file是时序记录文件,记录了几秒执行的命令; scriptfile是命令执行记录文件,记录下执行是哪些命令,这两个文件名称均可以自定义。
# script -q -t 2> time.file -a scriptfile -q, - -quiet 参数能够使script命令以静默模式运行,不显示script启动和exit的命令,用户能够彻底察觉不到在录屏。 按下按下组合键 Ctrl+D 结束录制,执行exit命令也行。
# scriptreplay -d 10 time.file scriptfile 添加这个参数-d, –divisor number 能够调整播放速度的倍数(能够是小数:放慢)。 scriptfile文件记录了我每间隔1秒执行一个date命令的操做,如今加速10倍来播放看看效果(惋惜有的版本scriptreplay命令没有-d这个参数)。
使用端: # script -f demo -f, - -flush 每次操做后都当即刷新缓存。若是不设置这个选项,则不会实时写入文件,这个功能
演示端:
# scriptreplay -f demo
# script -qa "file.out" -c "/root/hello.sh" # cat file.out -c, - -command 能够直接执行命令,而非是交互式的shell,能够直接传入一个脚本
# mkdir -p /var/log/user_record # vi /etc/profile # 在/etc/prifile文件追加登录时自动记录 script -t -f -q 2>/var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.his if [ "$SHLVL" = 1 ]; then exit fi
if [ $UID -ge 0 ]; then exec /usr/bin/script -t 2>/var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log fi