返回顶部
首页 > 资讯 > 操作系统 >Linux怎么使用 Asciinema
  • 240
分享到

Linux怎么使用 Asciinema

2023-06-16 05:06:31 240人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关linux怎么使用 Asciinema的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。asciinema  是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间

这篇文章给大家分享的是有关linux怎么使用 Asciinema的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

asciinema  是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间保存在文件中,同时还提供方法在终端或者WEB浏览器中进行回放。

asciinema的录制和播放都是基于文本的,相比传统的video有很多好处,例如录制文件体积小,在播放的过程中可以暂停复制其中的文本内容等等。同时  asciinema 还提供了一个网站,你如果愿意还可以将录制的内容上传至 asciinema.org  进行展示,也可以在这里找到很多有趣的终端录像。asciinema 由以下三个子项目构成:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. asciinema:基于命令行的终端会话记录器

  3. asciinema.org:提供api供上传录像和展示的网站

  4. javascript player:用于在web上播放录像的js播放器

asciinema 的安装和使用都非常简单,一起来看看吧

安装

asciinema 为 python 开发,可以直接通过apt-get、yum或者pip进行安装

# apt-get install asciinema

安装完成后查看版本

# asciinema --version asciinema 2.0.2

asciinema 有v1和v2两个版本,差异较大,咖啡君使用了v2,以下所有内容也基于v2演示。

asciinema 有5个参数,分别为录制:rec,播放:play,以文件形式查看录制内容:cat,上传文件到 asciinema.org  网站:upload、asciinema.org 账号认证:auth,本文主要说明rec和play的使用。

录制

# asciinema rec ops-coffee.cast

有几个参数可以使用:

--stdin表示启用标准输入录制,意思是通常情况下linux输入密码类的信息都不会显示,如果开启了这个选项,可以记录键盘输出的密码,但这个功能官方似乎还没有支持,加了后看不到效果。

--append 添加录制到已存在的文件中。

--raw 保存原始STDOUT输出,无需定时信息等。

--overwrite 如果文件已存在,则覆盖。

-c 要记录的命令,默认为$shell

-e 要捕获的环境变量列表,默认为SHELL,TERM。

-t 后跟数字,指定录像的title。

-i 后跟数字,设置录制时记录的最大空闲时间。

-y 所有提示都输入yes

-q 静默模式,加了此参数在进入录制或者退出录制时都没有提示。

输入exit或按ctrl+D组合键退出录制。

播放

# asciinema play ops-coffee.cast

有两个参数可以使用:

-s 后边跟数字,表示用几倍的速度来播放录像

-i 后边跟数字,表示在播放录像时空闲时间的最大秒数

在播放的过程中你可以通过空格来控制暂停或播放,也可以通过ctrl+c组合键来退出播放,当你按空格键暂停时,可以通过.号来逐帧显示接下来要播放的内容。

文件

asciinema 推荐的文件后缀是.cast,当然linux是不关心文件后缀的,你用什么都可以,推荐按规范使用.cast,文件内容大概如下

# cat ops-coffee.cast {"version": 2, "width": 237, "height": 55, "timestamp": 1572646909, "env": {"SHELL": "/bin/bash", "TERM": "linux"}, "title": "ops-coffee"} [0.010014, "o", "root@onlinegame:~# "] [1.296458, "o", "exit"] [1.976439, "o", "\r\n"] [1.976532, "o", "exit\r\n"]

cast 文件主要有两部分组成,位于第一行的一个字典,这里叫 header

{     "version": 2,     "width": 237,     "height": 55,     "timestamp": 1572646909,     "env": {         "SHELL": "/bin/bash",         "TERM": "linux"     },     "title": "ops-coffee" }

header很简单,字段的意思分别为:version版本,width和height分别表示录制窗口的宽高,timestamp录制开始的时间戳,env录制时指定的-e参数设置,title录制时指定的-t参数设置。

接下来的都是固定格式的内容,实际上就是IO流信息

[0.010014, "o", "root@onlinegame:~# "]

每一行都是由三部分组成的一个列表

  • 第一部分为一个浮点数,表示输入输出这一行内容所花的时间

  • 第二部分似乎是一个固定的字符串,没有找到说明做什么用的

  • 第三部分就是具体的输入输出的内容

这个文件格式设计还是非常优雅的,开头 header 声明,后边具体内容,如果中途因为任何意外导致录像终止,也不会丢失整个录像,而且还可以 append  增加录像,这在需要长时间暂停录制时非常有用,更重要的是可以流式读取,几乎很少占用内存,不需要把整个录像文件都放在内存中,对长时间的录制播放更友好。

自动录制审计日志

如果你有经历过严格的IT审计,或者有用到堡垒机,就会知道操作过程是需要记录并加入审计的,如果你有因为不知道是谁操作了什么导致了数据被删而背锅的经历,就会知道对操作过程的记录有多么的重要,接下来以一个简单的案例来介绍asciinema有什么样的实用价值。

非常简单,只需要在 devuser 用户的家目录下添加.bash_profile文件即可,内容如下:

$ cat ~/.bash_profile export LC_ALL=en_US.UTF-8 /usr/local/bin/asciinema rec /tmp/$USER-$(date +%Y%m%d%H%M%S).log -q

添加export LC_ALL=en_US.UTF-8的原因是有可能系统会报错:

asciinema needs a UTF-8 native locale to run. Check the output of locale command.

rec命令进行录制时添加了-q 参数,这样在进入或者退出时都不会有任何关于 asciinema 的提示,使用简单方便。

这样 devuser 用户每次登陆就会自动开启一个录像,如果需要审计或检查操作,只需要回放录像就可以了。

你可能会说history命令一样可以记录用户操作,asciinema 有什么优势呢?asciinema  不仅可以记录用户的输入,还可以记录系统的输出,也就是说history只能记录执行的命令,而 asciinema  还可以记录执行的结果,怎么样,是不是很方便,赶紧试试吧。

感谢各位的阅读!关于“Linux怎么使用 Asciinema”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Linux怎么使用 Asciinema

本文链接: https://lsjlt.com/news/282449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux怎么使用 Asciinema
    这篇文章给大家分享的是有关Linux怎么使用 Asciinema的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。asciinema  是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间...
    99+
    2023-06-16
  • 怎么在Linux中使用Asciinema进行视频录制
    本篇内容主要讲解“怎么在Linux中使用Asciinema进行视频录制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux中使用Asciinema进行视频录制”吧!简介Asciinem...
    99+
    2023-06-16
  • Linux Kernel怎么使用
    本篇内容主要讲解“Linux Kernel怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux Kernel怎么使用”吧!Linux Kernel支持好几种模块类型,包括设备驱动程序...
    99+
    2023-06-17
  • Linux input怎么使用
    本篇内容主要讲解“Linux input怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux input怎么使用”吧!输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux...
    99+
    2023-06-16
  • linux怎么使用OpenSSL
    这篇文章将为大家详细讲解有关linux怎么使用OpenSSL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。密码学哈希OpenSSL 源代码的下载页面包含了一个带有最新版本的表格。每个版本都有两个哈希值ha...
    99+
    2023-06-15
  • Linux bonding怎么使用
    本篇内容主要讲解“Linux bonding怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux bonding怎么使用”吧!在Linux bonding下有时候需要给一个网卡绑定多...
    99+
    2023-06-16
  • Linux expect怎么使用
    今天小编给大家分享一下Linux expect怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。expect参数启用选项...
    99+
    2023-06-27
  • Linux pyDash怎么使用
    这篇文章主要介绍“Linux pyDash怎么使用”,在日常操作中,相信很多人在Linux pyDash怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux pyDash怎么使用”的疑惑有所帮助!...
    99+
    2023-06-28
  • Linux Reader怎么使用
    这篇文章主要介绍“Linux Reader怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux Reader怎么使用”文章能帮助大家解决问题。Linux Reader ,提供资源管理器的...
    99+
    2023-06-28
  • Linux Chrony怎么使用
    这篇文章主要介绍了Linux Chrony怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux Chrony怎么使用文章都会有所收获,下面我们一起来看看吧。Chrony是NTP(Network Ti...
    99+
    2023-06-27
  • linux socket怎么使用
    本篇内容介绍了“linux socket怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!socket又称套接字,是Linux跨进程通信...
    99+
    2023-06-29
  • Linux crontab怎么使用
    这篇文章主要介绍了Linux crontab怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux crontab怎么使用文章都会有所收获,下面我们一起来看看吧。####1. crontab命令选项代...
    99+
    2023-06-28
  • linux groups怎么使用
    这篇文章主要介绍“linux groups怎么使用”,在日常操作中,相信很多人在linux groups怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux gr...
    99+
    2023-03-19
    linux groups
  • linux openvpn怎么使用
    这篇文章主要介绍“linux openvpn怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux openvpn怎么使用”文章能帮助大家解决问题。 ...
    99+
    2023-03-19
    linux openvpn
  • linux bashrc怎么使用
    这篇“linux bashrc怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“lin...
    99+
    2023-03-02
    linux bashrc
  • linux netmask怎么使用
    本篇内容介绍了“linux netmask怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!netmask是Linux下强大的IP地址格...
    99+
    2023-07-02
  • linux busybox怎么使用
    这篇文章主要介绍了linux busybox怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux busybox怎么使用文章都会有所收获,下面我们一起来看看吧。busybox是一款开发Linux系统...
    99+
    2023-07-04
  • Linux Deploy怎么使用
    这篇文章主要讲解了“Linux Deploy怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux Deploy怎么使用”吧!Linux Deploy是一款可以在Android设备...
    99+
    2023-07-05
  • linux中find怎么使用
    这篇文章主要介绍“linux中find怎么使用”,在日常操作中,相信很多人在linux中find怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中find怎么使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-22
  • linux中su怎么使用
    本篇内容介绍了“linux中su怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux中,su是“switch user”的缩写...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作