如何在 Linux 终端录制会话?


简介

有时,录制 Linux 中的终端会话会很有帮助,这样您就可以查看运行的命令、它们产生的输出以及终端中显示的任何其他文本。在本文中,我们将讨论三种不同的方法来录制 Linux 中的终端会话 - 使用script命令、使用ttyrec命令和使用asciinema工具。

方法 1:使用 script 命令

script 命令是一个简单易用的工具,用于录制 Linux 中的终端会话。它捕获终端中显示的所有文本,以及您输入的所有命令。

要使用script开始录制,只需打开终端并运行script命令,后跟要将录制保存到的文件名。例如

$ script my_recording.txt
Script started, file is my_recording.txt

script命令将立即开始录制,并显示一条消息,指示录制已开始以及录制将保存到的文件名。

要停止录制,只需在提示符下键入exit并按Enter。录制的输出将保存到文件my_recording.txt中。以下是在使用script录制的简单终端会话示例

$ script my_recording.txt
Script started, file is my_recording.txt
$ ls
Desktop Documents Downloads Music Pictures Videos
$ exit
Script done, file is my_recording.txt

方法 2:使用 ttyrec 命令

ttyrec命令类似于script,但它创建了一个二进制文件,可以使用ttyplay命令回放。要使用ttyrec开始录制,请运行该命令,后跟要将录制保存到的文件名。例如

$ ttyrec my_recording.tty

ttyrec命令将立即开始录制,并显示一条消息,指示录制已开始。

要停止录制,只需通过关闭窗口或按 CTRL+D 退出终端。录制的输出将保存到文件my_recording.tty中。

要回放使用ttyrec创建的录制,请使用ttyplay命令,后跟录制文件的名称。例如

$ ttyplay my_recording.tty

方法 3:使用 asciinema 工具

asciinema是一个免费的开源工具,允许您录制和共享终端会话。它生成一个 JSON 格式的文件,可以使用asciinema命令行工具回放,或上传到 asciinema.org 网站进行共享。

要安装asciinema,请运行以下命令

$ asciinema rec my_recording.json

asciinema 命令将立即开始录制,并显示一条消息,指示录制已开始。

要停止录制,请按CTRL+D或在提示符下键入exit并按Enter。录制的输出将保存到文件my_recording.json中,然后您可以与他人共享或使用asciinema play命令回放。

要回放使用asciinema创建的录制,请使用asciinema play 命令,后跟录制文件的名称。例如

$ asciinema play my_recording.json

您还可以将录制的文件上传到 asciinema.org 网站进行共享。只需登录到网站,点击“新建广播”按钮,然后选择要上传的录制文件。

比较不同的方法

在本节中,我们将更详细地了解 Linux 中录制终端会话的三种方法的优缺点。

script命令是一个简单易用的工具,它捕获终端中输入的所有文本和命令。script的一个优点是它生成一个纯文本文件,可以使用任何文本编辑器轻松读取和编辑。但是,录制的输出可能非常冗长,因为它包含所有终端控制字符和其他底层细节。这可能导致录制文件很大且难以阅读。

ttyrec命令类似于script,但它创建了一个二进制文件,可以使用ttyplay命令回放。ttyrec的一个优点是它生成的比script更小、更紧凑的文件,因为它只捕获文本而不捕获终端控制字符。但是,录制文件不是人类可读的,只能使用ttyplay命令回放。

asciinema工具是最新、功能最强大的开源工具,允许您录制和共享终端会话。它生成一个 JSON 格式的文件,可以使用asciinema命令行工具回放,或上传到 asciinema.org 网站进行共享。asciinema的一个优点是它生成一个小巧易读的文件,可以回放或与他人共享。但是,它需要安装额外的工具,并且可能不像其他两种方法那样得到广泛的支持。

总的来说,录制 Linux 中的终端会话的最佳选择将取决于您的特定需求和偏好。如果您想要一个简单易用的工具,它生成一个纯文本文件,script可能是最佳选择。如果您想要一个更紧凑、更高效的文件,可以使用单独的工具回放,ttyrec可能是一个更好的选择。如果您想要一个可以与他人共享的小巧易读的文件,asciinema可能是最佳选择。

结论

在本文中,我们讨论了三种不同的方法来录制 Linux 中的终端会话:使用 script 命令、使用ttyrec命令和使用asciinema工具。每种方法都有其自身的优缺点,最适合您的方法将取决于您的特定需求和偏好。无论您是想查看您自己的终端会话记录、与他人共享会话还是仅仅保存副本以备后用,这些方法都提供了一种简单的方法来实现此目的。

更新于: 2023年1月4日

6K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.