> 环境与工具 > script

script: 记录终端会话

script 命令将终端会话记录并保存为“typescript”文件。此文件包含用户输入的命令以及终端显示的所有内容。记录的会话可用于后续审查、重现或与他人共享。

概述

script 将终端中执行的所有操作记录到文本文件中。这可用于教学、问题排查和审计目的,记录的会话可以通过 scriptreplay 命令进行回放。

主要特点

  • 记录终端会话的所有输入输出
  • 默认保存到“typescript”文件
  • 可向现有文件追加内容
  • 可仅记录特定命令的执行结果
  • 支持记录和回放会话时间信息

主要选项

script 命令的主要选项会影响记录方式、输出文件管理以及会话信息记录。

记录与文件管理

生成的命令:

请尝试组合命令。

描述:

`script` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 script 命令的各种使用示例,了解如何有效地记录终端会话。

基本用法(开始和结束记录)

script
# 从现在开始,输入的所有命令和输出都将被记录。
ls -l
pwd
exit

执行 script 后,当前会话的所有输入输出将开始记录到名为“typescript”的文件中。要结束记录,请输入“exit”。

将会话记录到特定文件

script my_session.log
# 会话记录...
exit

代替默认的“typescript”文件,将会话记录到您想要的文件名中。

向现有文件追加会话

script -a my_session.log
# 追加会话记录...
exit

如果记录文件已存在,则不会覆盖新会话内容,而是继续追加。

仅记录特定命令

script -c "ls -la /tmp" ls_tmp.log

不启动交互式 shell,仅记录指定单个命令的执行结果并立即退出。

带时间信息记录

script -t 20231027_timing.log my_session_with_timing.log
# 会话记录...
exit

将每个输出的时间信息与会话内容一起记录到单独的文件中。这两个文件将用于使用 scriptreplay 回放会话。

提示与注意事项

为了更有效地使用 script 命令并应对可能出现的问题,这里提供一些提示和注意事项。

查看记录的会话

记录的“typescript”文件是普通文本文件,可以使用 `cat`、`less`、`more` 等命令查看内容。但是,由于可能包含特殊字符或控制代码,使用 `less -R` 或 `cat -v` 可能更有效。

  • 查看默认文件:`cat typescript`
  • 查看特定文件:`less my_session.log`

回放会话 (scriptreplay)

如果使用 `-t` 选项记录了时间信息,则可以使用 `scriptreplay` 命令在实际终端中回放记录的会话。这对于演示或教学非常有用。

  • 回放命令:`scriptreplay 20231027_timing.log my_session_with_timing.log`

安全与隐私保护

script 会记录所有输入内容,因此密码或敏感信息可能会直接保存在文件中。请妥善设置记录文件的访问权限,并在进行敏感操作时注意使用。

  • 注意: 密码、API 密钥等敏感信息可能会被记录,请注意。
  • 建议: 将记录文件的权限设置为 `chmod 600` 等进行保护。

中断记录时的注意事项

如果在 script 会话期间终端异常终止(例如,多次按下 Ctrl+C 终止 script 进程本身)或断电,记录文件可能会损坏或保存不完整。建议始终使用 `exit` 命令正常终止。


相同类别命令