良许Linux教程网 干货合集 Linux常用命令—scriptreplay命令

Linux常用命令—scriptreplay命令

Linux常用命令scriptreplay 用于在终端中,根据 script 命令记录的终端数据文件和时间日志文件,重现当时用户的所有操作和命令的输出信息,下面良许教程网为大家分享一下Linux常用命令—scriptreplay命令具体使用方法。

Linux常用命令—scriptreplay命令

scriptreplay

重新播放终端会话的所有操作

补充说明

简而言之,重现播放当时终端会话发生的一切信息,而不是重新运行一遍命令。例如,用户当时在输入某条命令时,字符的键入和删除也都会被重现。非常适合用于教程演示场合。而且,在机器 A 上面使用 script 命令记录终端操作,可以在机器 B 上面使用 scriptreplay 命令重新播放。

语法

 scriptreplay [options] [-t] timingfile [typescript [divisor]]

选项

 -t, --timing file         # 记录时间日志的文件名称
 -s, --typescript file     # 记录终端数据信息的日志文件名称
 -d, --divisor number      # 表示倍速播放,把时间日志文件记录的时间间隔都除以 number
                           # -d 2 表示播放速度是原始输入单条命令的速度的两倍,-d 0.1 表示播放单条命令的速度减慢 10 倍
 -m, --maxdelay number     # 表示命令之间的最大延迟时间(单位是秒)
                           # -m 2 表示 command.log 中存放的两条命令之间的间隔时间如果大于两秒,则按两秒执行播放
 -V, --version             # 显示版本信息并退出
 -h, --help                # 显示帮助文本并退出

参数

  • 时间日志文件:存储时间日志信息的文件名称

  • 终端数据文件:存储终端数据信息的文件名称

实例

 # 重新播放终端内容,默认第一个参数是时间日志,第二个参数是终端数据文件
 scriptreplay time.file command.log
 # 重新播放终端内容,播放快进速度为 1 ,命令之间最大延时为 2 秒
 scriptreplay -d 1 -m 2 -t time.file -s command.log

记录终端内容到文件

 zfb@localhost:~$ script -t 2>time.file -a -f command.log
 Script started, file is command.log
 zfb@localhost:~$ echo "hello, world"
 hello, world
 zfb@localhost:~$ echo $(date "+%Y-%m-%d %H:%M:%S")
 2020-12-23 20:48:46
 zfb@localhost:~$ echo "Bye"
 Bye
 zfb@localhost:~$ ls -al
 total 20
 drwxr-xr-x  2 zfb zfb 4096 Dec 23 20:48 .
 drwxr-xr-x 37 zfb zfb 4096 Dec 23 20:49 ..
 -rw-r--r--  1 zfb zfb    0 Dec 23 19:03 a.txt
 -rw-r--r--  1 zfb zfb   12 Dec 23 19:04 b.txt
 -rw-r--r--  1 zfb zfb 2744 Dec 23 20:49 command.log
 -rw-r--r--  1 zfb zfb  790 Dec 23 20:49 time.file
 zfb@localhost:~$ exit
 Script done, file is command.log
 zfb@localhost:~$

重新播放终端内容

 zfb@localhost:~$ scriptreplay -d 1 -m 2 -t time.file -s command.log
 zfb@localhost:~$ echo "hello, world"
 hello, world
 zfb@localhost:~$ echo $(date "+%Y-%m-%d %H:%M:%S")
 2020-12-23 20:48:46
 zfb@localhost:~$ echo "Bye"
 Bye
 zfb@localhost:~$ ls -al
 total 20
 drwxr-xr-x  2 zfb zfb 4096 Dec 23 20:48 .
 drwxr-xr-x 37 zfb zfb 4096 Dec 23 20:49 ..
 -rw-r--r--  1 zfb zfb    0 Dec 23 19:03 a.txt
 -rw-r--r--  1 zfb zfb   12 Dec 23 19:04 b.txt
 -rw-r--r--  1 zfb zfb 2744 Dec 23 20:49 command.log
 -rw-r--r--  1 zfb zfb  790 Dec 23 20:49 time.file
 zfb@localhost:~$ exit
 
 zfb@localhost:~$

其中,只有命令scriptreplay -d 1 -m 2 -t time.file -s command.log是用户输入,其他均为自动呈现(且视觉效果与真实用户的操作一致)。通过查看上面输出的时间2020-12-23 20:48:46,可以证明,这是重新播放当时的记录,而非重新执行一遍命令。也就是说,可以把time.filecommand.log文件移动到任意一台支持scriptreplay命令的机器上,都可以动态重现命令输入与终端回显。

总结

至此关于Linux常用命令scriptreplay命令的使用方法分享结束,大家如果对scriptreplay命令的使用方法还有问题可以通过评论区将问题提交我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部