Warning: Undefined array key "custom_message" in /www/wwwroot/bbs.aaronyang.cc/wp-content/plugins/wpcopyrights/index.php on line 105

scriptreplay

scriptreplay

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

补充说明

scriptreplay 用于在终端中,根据 script 命令记录的终端数据文件和时间日志文件,重现当时用户的所有操作和命令的输出信息。简而言之,重现播放当时终端会话发生的一切信息,而不是重新运行一遍命令。例如,用户当时在输入某条命令时,字符的键入和删除也都会被重现。非常适合用于教程演示场合。而且,在机器 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命令的机器上,都可以动态重现命令输入与终端回显。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/scriptreplay/

(0)
AuroraAurora站点维系者
上一篇 2024年 3月 4日 下午7:18
下一篇 2024年 3月 4日 下午7:18

相关推荐

  • sftp

    文章目录sftp补充说明语法选项参数实例 sftp 交互式的文件传输程序 补充说明 sftp命令 是一款交互式的文件传输程序,命令的运行和使用方式与ftp命令相似,但是,sftp命…

    入门教程 2024年 3月 4日
  • Java 接口

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接…

    入门教程 2023年 3月 9日
  • cal

    文章目录cal补充说明语法选项参数实例 cal 显示当前日历或指定日期的日历 补充说明 cal命令 用于显示当前日历,或者指定日期的日历,如果没有指定参数,则显示当前月份。 一个单…

    入门教程 2023年 12月 7日
  • bzmore

    文章目录bzmore补充说明语法参数 bzmore 查看bzip2压缩过的文本文件的内容 补充说明 bzmore命令 用于查看bzip2压缩过的文本文件的内容,当下一屏显示不下时可…

    入门教程 2023年 12月 6日
  • enable

    文章目录enable概要主要用途选项参数返回值例子(以下内容限于篇幅不再列出返回值部分)Q&A注意 enable 启动或禁用shell内建命令 概要 enable [-a]…

    入门教程 2023年 12月 14日
  • vgremove

    文章目录vgremove补充说明语法选项参数实例 vgremove 用于用户删除LVM卷组 补充说明 vgremove命令 用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷…

    入门教程 2024年 3月 11日
  • ftpshut

    ftpshut 在指定的时间关闭FTP服务器 补充说明 功能说明:在指定的时间关闭ftp服务器。本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户…

    入门教程 2023年 12月 14日
  • xlsclients

    文章目录xlsclients补充说明语法选项 xlsclients 列出显示器中的客户端应用程序 补充说明 xlsclients命令 用来列出显示器中的客户端应用程序。 语法 xl…

    入门教程 2024年 3月 11日
  • eject

    文章目录eject补充说明语法选项参数 eject 用来退出抽取式设备 补充说明 eject命令 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。 eje…

    入门教程 2023年 12月 14日
  • df

    文章目录df补充说明语法选项参数大小格式实例 df 显示磁盘的相关信息 补充说明 df命令 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用…

    入门教程 2023年 12月 7日

发表回复

登录后才能评论
Translate »