概述
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` 命令正常终止。