作者:陌溪
陌溪的学习笔记:http://note.moguit.cn
大家好,我是 陌溪
之前在写蘑菇博客部署教程的时候,一般都是通过文档的形式来记录的具体的操作过程。
很多时候文档并不能较好的记录我们每一步操作流程,所以为了更加直观的展示,一般会使用视频来进行记录。
但是,如果使用视频记录的话,需要小伙伴暂停视频,然后跟着视频敲代码,有的时候敲错了也会导致运行不了,显然这个方法也不是特别友好(竟然要小伙伴手动敲代码,而不是 copy)
陌溪在网上冲浪的时候,发现了一款基于文本的终端录制工具:Asciinema ,它是基于文本的终端录制方法,能够拥有像看视频一样的体验,同时支持终端内容的复制。
Asciinema官网
介绍
来自官网的话:以正确的方式记录并分享您的终端会话,忘记屏幕录音应用程序和模糊的视频吧。享受一种轻量级的、纯粹基于文本的终端录制方法。
Asciinema 是 Linux 系统下一款"高级"终端会话记录和回放的神器, 它是一个在终端下非常棒的录制分享软件,基于文本的录屏工具,对终端输入输出进行捕捉, 然后以文本的形式来记录和回放!这使其拥有非常炫酷的特性:在播放过程中随时可以暂停, 然后对"播放器"中的文本进行复制或者其它操作!并且它支持各个操作系统(除了 Windows 之外)
Asciinema官网:https://asciinema.org/
安装
目前 Asciinema 支持:linux
、 macOS
下面我将以 Linux 为例,讲解 Asciinema 的具体使用,下面将介绍多个安装的方式
ubuntu安装
ubuntu 系统使用的是 apt 作为包管理工具
代码语言:javascript复制sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema
CentOS安装
CentOS 系统使用的是 yum 作为包管理工具,下载过程如下
代码语言:javascript复制sudo yum install asciinema
Docker安装
同时也支持使用 Docker 安装
代码语言:javascript复制docker run --rm -ti -v "$HOME/.config/asciinema":/root/.config/asciinema asciinema/asciinema
快速开始
下面我们就可以开始进行脚本的录制了
代码语言:javascript复制# 将终端记录到本地文件
asciinema rec demo.cast
# 开始一系列的录制操作
....
# 退出
eixt
# 播放录制的终端命令
asciinema play demo.cast
上传到Asciinema官网
但是只是在终端上查看,还是不能分享给其它的小伙伴们,所以我们需要将我们录制的内容上传 Asciinema 官网,首先需要注册账号
https://asciinema.org
登录
我第一打开这个页面,没有找到注册的地方??,根据边上的英语提示,告诉我们第一次过来的话,只需要输入你的邮箱,然后系统就会向该邮箱输入一串验证信息,然后点击该链接即可完成注册~
注册
以后登录的话,操作也是一样的,输入邮箱号码,然后到邮箱的邮件点击登录即可
登录
我们需要在我们终端输入下面的命令,给我们账号进行绑定
代码语言:javascript复制asciinema auth
然后会得到一个地址
绑定
我们把地址复制到浏览器上打开即可
完成绑定
绑定账号完成后,下面我们可以按照操作开始录制终端命令,点击开始录制后,你在终端的所有操作都会被记录下来
代码语言:javascript复制# 开始录制
asciinema rec
# 退出录制【按下回车上传】
exit
录制成功地址
下面访问这个地址,即可看到我们的内容了
代码语言:javascript复制https://asciinema.org/a/7IvnEDLigSVLr0So5lGyNtT7V
因为公众号无法直接打开看效果,下面陌溪录制了一段视频,一起体验一下
Asciinema常见命令
下面看看 Asciinema 的常见命令
代码语言:javascript复制# 登录【得到url,到浏览器打开即可,需要提前在浏览器登录Asciinema】
asciinema auth
# 记录终端并将其上传到asciinema.org【】
asciinema rec
# 将终端记录到本地文件
asciinema rec mogu.cast
# 将终端记录到本地文件,将空闲时间限制到最大2秒
asciinema play -i 2 mogu.cast
# 以两倍速播放
asciinema play -s 2 mogu.cast
# 从本地文件重放终端记录
asciinema play demo.cast
# 打印记录的会话的全部输出
asciinema cat demo.cast
# 将本地文件上传
asciinema upload mogu.cast
修改配置
同时我们在录制脚本的时候,也可以修改 asciinema 的配置
代码语言:javascript复制vim ~/.config/asciinema/config
在这里可以配置录制播放速度,以及空闲时间
代码语言:javascript复制[api]
; API server URL, default: https://asciinema.org
; If you run your own instance of asciinema-server then set its address here
; It can also be overriden by setting ASCIINEMA_API_URL environment variable
url = https://asciinema.example.com
[record]
; Command to record, default: $SHELL
command = /bin/bash -l
; Enable stdin (keyboard) recording, default: no
stdin = yes
; List of environment variables to capture, default: SHELL,TERM
env = SHELL,TERM,USER
; Limit recorded terminal inactivity to max n seconds, default: off
idle_time_limit = 2
; Answer "yes" to all interactive prompts, default: no
yes = true
; Be quiet, suppress all notices/warnings, default: no
quiet = true
[play]
; Playback speed (can be fractional), default: 1
speed = 2
; Limit replayed terminal inactivity to max n seconds, default: off
idle_time_limit = 1
配置完成后,我们就可以来进行录制了~
好了,本期的软件安利就到这里了
我是陌溪,我们下期再见~
博主就职于字节跳动商业化部门,一直维护校招笔记仓库 LearningNote「在Gitee上已有 5k star,地址 https://gitee.com/moxi159753/LearningNotes」,公众号上的文章也会在此同步更新,欢迎各位小伙伴一起交流学习
同时,想要丰富项目经验的小伙伴,可以参考我维护的开源微服务博客项目:蘑菇博客「 Gitee 官方推荐项目,博客类搜索排名第一,在 Gitee 已有 4.7K star,仓库地址:https://gitee.com/moxi159753/mogu_blog_v2 」。