ttyrec & ttyplay - Linux记录播放终端会话

有些时候你可能想要记录一个终端会话,也许是为了保存一个复杂的命令行操作为将来使用的参考,或者是为了知识分享。你可能也希望记录的文件尺寸尽可能的小一点,并且希望当播放记录文件时可以做一个快速回放。在这个文章中我们将讨论两个命令行工具( ttyrec 和 ttyplay )来让你记录、保存和播放终端会话。

ttyrec & ttyplay

看名字就知道ttyrec命令是用来记录终端会话的,ttyplay是用来播放ttyrec记录的会话的。

这里是这些工具的man截图:

> ttyrec

> ttyplay

测试环境

  • 系统 – Ubuntu 13.04
  • Shell – Bash 4.2.45
  • 应用 – ttyrec 1.0.8-5 & ttyplay 1.0.8-5

简明教程

下面告诉你怎么用这些命令来记录和播放一个终端会话。

步骤-1

开始记录一个终端会话,只需要运行下面的命令:

$ ttyrec [文件名] 

参数 [文件名] (上面显示的命令)是一个选项,可以指定你想要的任何名字。这个记录文件将会用这个名字保存下来。如果你没有指定一个文件名,ttyrec就会用 ttyrecord 作为缺省文件名。

步骤-2

当你想要记录的时候你就可以运行这个命令,就开始记录会话了。ttyrec命令甚至可以记录命令行类似vi,nano,emacs,lynx等这些命令行工具的会话。

步骤-3

到你想要结束终端会话的时候,只需要运行 exit 命令,这个会话记录就会结束。记录文件将会保存在当前文件夹下。

你可以运行下面的命令播放这个文件:

$ ttyplay [文件名] 

参数 [文件名] 就是记录文件名,就是上面通过 ttyrec 命令给定参数的那个名字。如果没有指定文件名,那么缺省文件名就是 ttyrecord 。

当你运行ttyplay,回放会话记录就会开始。这里给出一些当你回放会话的时候你可以用的快捷键。

  • ‘+’或‘f’键可以加速到两倍正常播放速度。
  • ‘-’或‘s’键可以减慢到一般正常播放速度。
  • ‘0’可以暂停。
  • ‘1’可以回到正常播放速度。

这有一些其它ttyrec和ttyplay命令支持的选项:

> ttyrec

ttyplay

还有另一个小工具 ttytime 可以用来显示用ttyrec工具会话记录的时间。很容易使用并且只需要记录文件名作为命令行参数。

举一个例子:

$ ttytime record_file
 29 record_file 

这样你就可以看到ttytime命令显示会话记录文件record_file的时间。

这有一个ttyrec和ttyplay命令的很有用的视频:

下载/安装/配置

这有一些关于这些工具的重要的链接:

你可以使用任何命令行下载管理器比如apt-get或者yum来下载ttyrec,ttyplay和ttytime。Ubuntu用户也可以通过Ubuntu软件中心下载安装这些工具。

优点

  • 轻量级并且易用
  • 可以记录多种流行的命令行工具比如vi,nano,lynx等
  • 没有学习曲线。

缺点

  • 不能在IRIX6.4下工作(译注:这还算事吗?)
  • 依赖终端尺寸
  • 大多数Linux发行版没有预装。

结论

如果你正在找一些Linux轻量级命令行工具用来记录播放终端会话,那么ttyrec和ttyplay是理想的工具。我真的喜欢使用它们带来的轻松。试一下这些工具,你不会失望的。

你使用过ttyrec,ttyplay或者其它的终端记录/播放 工具?分享你的经历给我们吧。

 原文发布时间为:2013-11-05

本文来自合作伙伴“Linux中国”

时间: 2024-10-31 18:57:24

ttyrec & ttyplay - Linux记录播放终端会话的相关文章

如何在Linux中使用Asciinema进行录制和回放终端会话

简介 Asciinema 是一个轻量并且非常高效的终端会话录制器.使用它可以录制.回放和分享 JSON 格式的终端会话记录.与一些桌面录制器,比如 Recordmydesktop.Simplescreenrecorder.Vokoscreen 或 Kazam 相比,Asciinema 最主要的优点是,它能够以通过 ASCII 文本以及 ANSI 转义码编码来录制所有的标准终端输入.输出和错误信息. 事实上,即使是很长的终端会话,录制出的 JSON 格式文件也非常小.另外,JSON 格式使得用户可

如何在 Linux 中使用 Asciinema 进行录制和回放终端会话

简介 Asciinema 是一个轻量并且非常高效的终端会话录制器.使用它可以录制.回放和分享 JSON 格式的终端会话记录.与一些桌面录制器,比如 Recordmydesktop.Simplescreenrecorder.Vokoscreen 或 Kazam 相比,Asciinema 最主要的优点是,它能够以通过 ASCII 文本以及 ANSI 转义码编码来录制所有的标准终端输入.输出和错误信息. 事实上,即使是很长的终端会话,录制出的 JSON 格式文件也非常小.另外,JSON 格式使得用户可

【Linux学习 】Linux使用Script命令来记录并回放终端会话

[TOC] 一.背景 在之前的博客 [Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?] 里面,我已经详细记录了每天的自动备份与清理过期备份文件的工作. 1.每天凌晨2点在Gitlab服务器上执行Gitlab备份功能. 2.每天凌晨3点在Gitlab服务器上执行scp命令将最新的Gitlab备份文件复制到远程的文件备份服务器. 3.每天凌晨4点在远程的文件备份服务器上检测备份文件的时间,自动删除超过7天的备份文件. 这个脚本从8月18日开始运

《Linux命令行大全》——1.4 结束终端会话

1.4 结束终端会话 直接关闭终端窗口或是在shell提示符下输入exit命令,即可结束终端会话. [me@linuxbox ~]$ exit幕后的控制台 即使没有运行终端仿真器,一些终端会话也会在图形桌面的后台运行.这叫做虚拟终端或是虚拟控制台.在绝大多数系统中,通过依次按下Ctrl-Alt-F1键到Ctrl-Alt-F6组合键,可以访问大部分Linux发行版中的终端会话.每当访问一次会话,就会出现登录提示符,我们可以在其中输入用户名和密码.按Alt和F1-F6键,可从一个虚拟控制台转换到另一

Linux 记录会话过程的命令

  在Unix系统维护中,有时候系统工程师希望能够记录下会话的过程.如在测试一个系统功能的时候,工程师就希望将测试的步骤都一一的纪录下来.以便出现问题时利用这份资料进行追踪分析.如有时候在制作培训文档的时候,可能也需要这些会话记录,以方便培训师制作PPT等培训文档.总之就是一句话,系统工程师现在想要记录某个会话的过程,在Unix系统中能否实现? 一.script命令的主要作用于特点. 在Windows操作系统中,读者可能用过一些屏幕记录软件,可以将某段时间的操作通过视频的形式记录下来.不过在Un

Shell脚本制作的终端会话回放功能脚本分享_linux shell

不久前在书上看到两个很有趣的命令--script和srciptreplay,它可以把终端会话记录到一个文件中,即是说我们可以通过终端会话来来制作命令行技巧视频教程,也可以与他人分享会话文件,而且生成的文件还只是一般的文本文件,文件的大小非常小,真是非常有意思.下面是本人写的两个shell程序,来方便进行这个有趣并有意义的操作. 一.实现代码 文件:Record.sh 复制代码 代码如下: #! /bin/bash  # Filename:Record.sh    read -p "Please

Linux script命令 —— 终端里的记录器

Linux script命令 -- 终端里的记录器 当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切.这些记录可以用来当作史料,保存终端所发生的一切.比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生的一切.要实现这个目标,你可以使用script命令. script是什么 scirpt就是一个命令,可以制作一份记录输出到终端的记录.对于那些想要真实记录终端会话的人来说,这很有用.该记录可以保存并在以后再打印出来. 怎

推荐5款好用的Linux音乐播放器

适用于 Linux 的音乐播放器可说数不胜数,不同的用户也有各自的喜好.知名且应用广泛的有 Cantata 和 Exaile,不太知名的工具有 Clementine.Nightingale 和 Quod Libet,国产较好用的有网易云音乐,小编为大家推荐 5 款好用的 Linux 音乐播放器,各位看客自行选择吧. 1. Qmmp Qmmp 其实就是 Linux 版的 Winamp,它的界面虽然很轻量级,但却有丰富的功能集.想必很多 Winamp 老用户都有怀旧感情,而 Qmmp 与 Winam

[20131210]linux screen 命令共享会话.txt

[20131210]linux screen 命令共享会话.txt 工作需要,要在两个用户之间共享linux的会话,看了一下screen的文档,加上一些google,做一些记录: 方法1:--使用script,没有想到script本来是记录操作内容的,通过管道文件也可以实现这种功能. --会话1.mkfifo /tmp/sessionscript -f /tmp/session --会话2cat /tmp/session --这样会话2能看会话1的操作,但是会话2不能做任何操作.会话1 exit