Linux下script命令录制、回放和共享终端操作script -t 2> timing.log -a output.session # 开始录制
Linux下script命令录制、回放和共享终端操作
| [日期:2018-09-04] | 来源:cnblogs.com/f-ck-need-u 作者:骏马金龙 | [字体:大 中 小] |
另一篇终端会话共享的文章:Linux终端会话实时共享(kibitz)
使用script命令录制,使用scriptreplay播放录制的操作。共享终端的操作,则需要使用命名管道来实现。
1.1 录制
[root@xuexi ~]# cd /tmp
[root@xuexi tmp]# script -t 2> timing.log -a output.session # 开始录制
Script started, file is output.session[root@xuexi tmp]# ls # 执行一个操作:命令ls
abc.sh ab.sh index.html lost+found output.session scriptfifo test test1 timing.log vmware-root
[root@xuexi tmp]# cd /tmp/test # 再执行一个操作:命令cd[root@xuexi test]# exit # 结束录制
exit
Script done, file is output.session
其中"-t 2> timing.log"是要回放的必须选项,不加"2>"将导致开启录制后的任何输入都是乱码状态,不加"-t timing.log"将不能使用scriptreplay来回放。timing.log记录的是每个时间段输入了多少字符。通过timing.log和output.session配合可以实现回放。
注意点是,录制前保证timing.log和output.session是空文件,否则将导致回放时操作不一致。
1.2 回放
[root@xuexi test]# scriptreplay timing.log output.session
如果觉得回放的速度过慢(录制时有些地方停顿,比如输入了一个命令后,隔了一段时间才输入另一个命令,这段时间对于回放来说显得慢很正常),可以修改timing.log文件。这个文件中分两个字段,第一个字段记录的是从上次输出后到该次输出的时间间隔,第二个字段是从output.session中读取的字符数。要修改回放速度,只需将第一个字段较长的间隔改短一点就可以。但是不应该改的太短,否则回放速度过快。我觉得将间隔较长的改成0.3-0.7秒,效果还不错。
[root@xuexi ~]# cat timing.log
0.117244 16
0.007955 1
0.298074 1 # 此处将原来的2.298074改为0.3秒
0.216628 1
0.092781 1
0.081659 1
0.083258 1
0.419445 1
0.314128 1
0.100810 1
0.083998 30
0.491283 1
0.266129 1 # 此处原来也是2.266129秒,显然经过一次命令输出之后停顿了2秒多
0.099767 1
0.127625 1
0.078809 1
0.181493 1
0.147795 1
0.115808 1
0.077416 1
0.274658 1
0.257042 1
0.524460 4
0.297133 38
0.458018 1
0.416350 1
0.187270 1
0.125467 1
0.100756 8
1.3 终端屏幕分享
通过管道来传输信息实现。需要一个pipe文件,并在需要展示的终端打开这个管道文件。
在终端1(作为主终端,即演示操作的终端)上使用mkfifo创建管道文件。
[root@xuexi tmp]# mkfifo scriptfifo
[root@xuexi tmp]# ll scriptfifo
prw-r--r-- 1 root root 0 Sep 26 13:04 scriptfifo # 权限位前面的第一个p代表的就是pipe文件。

在终端2上打开pipe文件。
[root@xuexi ~]# cat /tmp/scriptfifo

在终端1上使用script -f开始记录操作,之后的操作将会分享在终端2上。
[root@xuexi tmp]# script -f scriptfifo


使用exit即可停止分享并退出记录行为。
[root@xuexi tmp]# exit
exit
Script done, file is scriptfifo
在被分享终端上参与分享状态后将不能执行任何操作,执行的操作会被记录下来,并在主终端停止分享后自动执行。
需要注意的是,只能给一个会话共享会话终端。如果多个会话 cat scriptfifo ,会导致共享切开显示在多个不同会话上。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
Linux下script命令录制、回放和共享终端操作script -t 2> timing.log -a output.session # 开始录制的更多相关文章
- Linux录制、回放和共享终端操作
另一篇终端会话共享的文章:Linux终端会话实时共享(kibitz) 使用script命令录制,使用scriptreplay播放录制的操作.共享终端的操作,则需要使用命名管道来实现. 1.1 录制 [ ...
- linux下录屏和回放工具script和scriptreplay
读书是一个长见识的过程,以前偶尔会用到录屏的工具,很少用想系统的学习一下.最近看了linux shell脚本攻略,发现很多新东西是以前自己没有接触到的.比如,这个非常好用的录屏工具:script,这次 ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
- Linux下Setuid命令! 转载
Linux下Setuid命令! 转载 在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/sha ...
- Remmina:一个 Linux 下功能丰富的远程桌面共享工具(转载)
Remmina:一个 Linux 下功能丰富的远程桌面共享工具 作者: Aaron Kili 译者: LCTT geekpi | 2017-05-10 09:05 评论: 2 收藏: 4 Remm ...
- linux下top命令详细介绍
linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- 例解 Linux 下 Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
随机推荐
- Redis系列-存储篇list主要操作命令
Redis系列-存储篇list主要操作命令小结 在总结list之前,先要弄明白几个跟list相关的概念: 列表:一个从左到右的队列,个人理解更类似于一个栈,常规模式下,先进列表的元素,后出. 表头元素 ...
- 【2020.02.01NOIP普及模拟4】怪兽
[2020.02.01NOIP普及模拟4]怪兽 文章目录 [2020.02.01NOIP普及模拟4]怪兽 题目描述 输入 输出 输入输出样例 数据范围限制 提示 解析 code 题目描述 PYWBKT ...
- 面试准备——计算机网络(TCP的三次握手和四次挥手)
一.TCP的报文结构 红色圈标出的是在讨论三次握手和四次挥手时会用到的首部字段: 顺序号(seq):TCP对从网络层传下来的数据报文进行分组,分成一段一段的TCP报文段,并对这些报文段进行编号.seq ...
- Android-SQLite的介绍 以及四个基本操作~
在Android 开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面.本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的.一 ...
- Hadoop完整搭建过程(三):完全分布模式(虚拟机)
1 完全分布模式 完全分布模式是比本地模式与伪分布模式更加复杂的模式,真正利用多台Linux主机来进行部署Hadoop,对集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上,这篇文章介绍 ...
- (二十)VMware Harbor - API
可以用swagger在线解析 http://editor.swagger.io/将swagger.yaml中的内容拷贝到里面即可. 官方文档说明链接如下:https://github.com/vmwa ...
- MySQL的半同步是什么?
前言 年后在进行腾讯二面的时候,写完算法的后问的第一个问题就是,MySQL的半同步是什么?我当时直接懵了,我以为是问的MySQL的两阶段提交的问题呢?结果确认了一下后不是两阶段提交,然后面试官看我连问 ...
- Mybatis3源码笔记(一)环境搭建
1. 源码下载 地址:https://github.com/mybatis/mybatis-3.git. 国内访问有时确实有点慢,像我就直接先fork.然后从git上同步到国内的gitte上,然后在i ...
- 基于MATLAB的手写公式识别(4)
啊啊啊~ 目的 1.考虑图像预处理的合理性和结果.能达到什么样的结果,该结果是否满足我的需要,如果多余是否有删除的必要? 2.切割问题,他是怎样实现字符的切割的?字符之间识别的依据和划定该依据的标准是 ...
- 菜鸟教程jsonp基础知识讲解
jsonp是什么? Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的 ...