他 script
领域 允许您在终端上记录和回放活动。 当您想要创建已采取步骤的参考或正在创建教程供其他人遵循时,它会很有用。
script
生成您已执行的所有命令的键入文本。 它的工作原理是将您置于一个记录您运行的所有内容的子外壳中。 当您退出 shell 时,您的会话将保存为纯文本。 这确实 script
比重定向的输入流更可靠。
基本用途
他 script
该命令可以在没有任何参数的情况下执行:
script
一个新的捕获会话将开始。 您的终端会话将保存在 ./typescript
在你的工作目录中。 您可以通过给出指定不同的文件 script
一个论点:
script example_session
使用您的 shell 运行您要记录的脚本。 完成后,按 Ctrl+D
他写的 exit
退出子层。 您将返回到主 shell 会话。
您现在可以检查已创建的会话的记录:
cat example_session
你会看到你的输出 script
会话穿插在括号中的注释中。 这些注解被使用 script
记录有关终端本身和其中发生的事件的详细信息。
由于日志文件是纯文本,您可以在自己喜欢的编辑器中自由操作它们。 只需剪掉您不想保留或其他人不应该看到的线条即可。
如果您的会话无意中生成了潜在的敏感信息,或者如果您想从日志中删除无关的字符,这将很有用。 script
它记录了您终端上发生的所有事情,包括退格键、换行和控制字符,其中一些可能在最终键入的文本中不需要。
script
在会话开始和结束时发出您正在写入的文件的名称。 您可以通过添加 -q
选中以启用静默模式。
他 SHELL
在确定要为内部进程分支到的 shell 时读取环境变量。 未设置变量时, script
将默认为 sh
.
添加到现有文件
可以向现有打字稿添加新命令。 这允许您在退出子层并开始新会话时“暂停”和“恢复”记录。
添加 -a
标志以将您的命令添加到指定文件。 script
未提供标志时将覆盖文件的内容。
script -a example_session
添加时间数据
当您只想记录您的步骤以便稍后阅读或分享时,Basic TypeScript 是理想之选。 script
您还可以将时间数据与文本日志一起保存。 此信息可用于在命令之间适当延迟的情况下重播整个终端会话。
跑步 script
与 -t
flag 来指定写入次数的路径。 时间文件有两列格式。 每个条目都包含自第一列中最后一条记录以来经过的时间。 第二列记录了键入的字符数,允许准确重复键入速度。
script -q -t example_session_timings example_session
会话回放
他 scriptreplay
命令读取由创建的打字稿和计时文件 script
. 在终端中播放输出。 计时数据将用于将每个键入字符的长度与其在原始脚本中的长度相匹配。
scriptreplay -t example_session_timings example_session
某些键入的文本可能包含不必要的延迟或运行缓慢。 使用 -d
标志以加速退出。 所有记录的时间将除以通过的次数。
# Run 4 times faster scriptreplay -d 4 -t timings typescript
您还可以使用 -m
检查以限制单个更新之间的最大延迟。 这允许您指定之前允许的最长暂停时间(以秒为单位) scriptreplay
它将继续执行下一个命令,即使键入的文本指定了更长的延迟。
# Maximum delay of 2 seconds scriptreplay -m 2 -t timings typescript
与交互式命令一起使用
不推荐使用 script
具有高度交互的命令。 终端文本编辑器、基于 curse 的应用程序和对话框提示可能会在您键入的文本中插入污染垃圾字符。 script
它着重于捕获典型的基于文本的输出,而不是操作终端以生成图形界面的命令。
script
它不适合与非交互式外壳一起使用,因为它的内壳本质上始终是交互式的。 命令 它不应该是 预计它也可以与管道输入一起使用。
其他选项
他 -c
标记为 script
允许您指定一个命令。 使用该模式时, script
运行命令并捕获其输出,而不是派生一个新的交互式 shell。 这可以更有效地捕获某些在未直接连接到 TTY 时表现不同的进程的输出。
他 -f
标志指示 script
在每个事件后直接写入会话日志。 这通过确保立即捕获输出来提高安全性。
他 script
手册页 建议 这个标志也可以用于实时监控用户的终端,例如在师生场景中。 学生会跑 script -f
然后 master 将使用 SSH 连接并实时流式传输键入的文件。
script
通常不接受符号链接作为类型化路径。 他 --force
标志通过指示启用此行为 script
解决指向目的地的硬链接和软链接。
概括
script
允许您使用精确的时间数据在纯文本文件中记录您的终端会话。 您可以检查、共享和打印手动输入的文本,或在您的终端上使用 scriptreplay
.
这些命令包含在最流行的命令中。 Linux 分布。 它们适用于所有类型的终端,但个别键入的文本可能无法在用于记录的终端以外的终端上正确播放。 为获得最佳效果,请运行 scriptreplay
在与您一起使用的相同类型的终端上 script
.