0

0

如何记录终端会话 script命令使用

P粉602998670

P粉602998670

发布时间:2025-08-17 10:25:02

|

581人浏览过

|

来源于php中文网

原创

script命令用于记录终端会话的输入和输出,1. 使用script filename.txt开始记录到指定文件;2. 不带文件名时默认保存为typescript;3. 加-a选项可追加内容而非覆盖;4. 结合--timing和scriptreplay可实现带时间戳的会话回放;5. 避免输入敏感信息并注意日志安全;6. 用cat、less等工具查看记录文件,部分控制字符可能显示为乱码;该命令适用于教学演示、故障排查、操作审计和学习笔记,结束后输入exit或按ctrl+d即可完成记录,整个过程完整且易于管理。

如何记录终端会话 script命令使用

在 Linux 或 macOS 的终端中,有时候我们需要记录下整个会话过程,比如调试命令、演示操作、排查问题或作为学习笔记。这时,

script
命令就非常有用。它能完整记录你在终端中输入和输出的所有内容,生成一个可保存的日志文件。

下面介绍

script
命令的基本用法和一些实用技巧。


什么是 script 命令?

script
是一个系统自带的工具,用于将终端会话的输入和输出全部记录到文件中。它会启动一个子 shell,然后把你在终端上看到的所有内容(包括命令、输出、提示符等)都保存下来。


基本用法

script filename.txt

这会开始记录会话,所有内容都会写入

filename.txt
。你可以自定义文件名,比如
session.log
demo.txt
等。

示例:

script my_session.log

执行后你会看到类似提示:

Script started, file is my_session.log

然后你就可以正常输入命令了,所有操作都会被记录。

结束记录时,输入:

exit

或者按

Ctrl+D

你会看到:

Script done, file is my_session.log

此时,

my_session.log
中就保存了完整的会话内容。


常用选项和技巧

1. 不带文件名,默认记录到 typescript

如果你不指定文件名:

MaxAI
MaxAI

MaxAI.me是一款功能强大的浏览器AI插件,集成了多种AI模型。

下载
script

它会默认创建一个名为

typescript
的文件。

2. 追加内容到已有文件

使用

-a
选项可以追加内容,而不是覆盖:

script -a my_session.log

这样多次运行不会丢失之前的记录。

3. 实时显示时间戳(高级用法)

script
本身不直接支持时间戳,但可以结合
scriptreplay
使用。先记录时加上时间信息:

script --timing=timing.log session.log

--timing
会把每条输出的时间信息记录到
timing.log
,之后可以用:

scriptreplay timing.log session.log

来“回放”整个会话过程,就像看录像一样。

4. 避免记录敏感信息

由于

script
会记录所有内容,包括你输入的密码(即使不显示),所以:

  • 不要在
    script
    会话中直接输入明文密码。
  • 如果使用
    sudo
    ,建议提前配置免密或注意日志安全。
  • 记录完成后及时检查并清理敏感内容。

5. 查看记录文件

记录完成后,可以用任意文本工具查看:

cat my_session.log
less my_session.log
vim my_session.log

注意:某些控制字符(如清屏、光标移动)可能会显示为乱码。可以使用:

cat -v my_session.log

来查看不可打印字符的可视化表示。


实际应用场景

  • 教学或演示:记录操作步骤,便于分享或回看。
  • 故障排查:保留完整的命令执行过程,方便事后分析。
  • 审计或文档:作为操作日志存档。
  • 学习笔记:记录自己练习命令的过程。

注意事项

  • script
    记录的是“终端输出”,包括颜色、光标移动等 ANSI 控制码,所以用文本编辑器打开可能看到乱码。推荐用
    cat
    less
    查看。
  • 不要长时间运行
    script
    ,避免日志文件过大。
  • 在脚本中慎用
    script
    ,因为它依赖终端交互环境。

基本上就这些。

script
命令简单但很实用,尤其适合需要保留终端操作痕迹的场景。记住开始和结束的方式,合理命名文件,就能高效地管理你的会话记录。

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

200

2023.10.12

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

308

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

740

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

88

2025.08.19

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

334

2025.05.09

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号