在学习Linux时,有时候终端的打印消息对于我们很重要,可是终端显示也是有一定的缓冲空间的。当信息打印许多时,前面的信息就会被覆盖掉。所以这里网上搜索了一下这方面的介绍。现总结例如以下:

script 是一个非常使用的工具,同一时候也足够的好玩。script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就能够将其录制的结果播放给他人观看。script 的优点就在于。你在终端中的全部操作过程,它都能够原原本本地进行录制。

我们能够将这样的录制应用在非常多方面,诸如教学、演示等等。

一般来说,script 和 scriptreplay 在 Linux 发行版中都有默认安装。假设你打算使用 script 開始录制终端会话,能够敲入下列指令:

script -t 2>yangrui.timing -a yangrui.session

该指令中的 -t 选项指明输出录制的时间数据,而 -a 选项则输出录制的文件(假设此文件已存在,则加入数据在后面)。你能够将指令中的 yangrui换成自己设置的文件名。当终端中返回“Script started, file is yangrui.session”的信息时。你就能够进行须要录制的操作了。

假设须要结束录制过程,则输入

exit 

要播放已录制完毕的终端会话。能够使用指令:

   scriptreplay yangrui.timing yangrui.session

就能够像看电影一样查看操作了,可是不能快进后退(也有可能是我临时未发现,假设哪位懂得,能够顺便教一下我)。个人建议使用:

cat yangrui.session

查看内容。假设在图形界面打开yangrui.session,会发现文件里将充满控制字符和ANSI转义序列,看起来如同乱码:

解决方法能够网上搜索到。个人建议使用命令行查看就可以。

当下一次想继续录制时,就再次输入:

script -t 2>yangrui.timing -a yangrui.session

它就会把录制的数据放在上一次数据的后面。并自己主动用时间分隔开来。





关于 script 及 scriptreplay 的很多其它信息,能够使用 man script 或 man scriptreplay 查询。

(工具类)Linux笔记之终端日志记录工具script的更多相关文章

  1. 【学习笔记】开源日志记录工具log4j使用方法

    http://blog.csdn.net/zouqingfang/article/details/37558469 一.在MyEclipse中使用log4j的步骤比较简单,主要分为以下四个步骤: 1. ...

  2. 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

  3. 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,nloglogutil

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

  4. C# 日志记录工具类--LogHelper.cs测试

    C# 日志记录工具类:(适用于不想使用log4j等第三方的Log工具的时候,希望自己写个简单类实现)LogHelper.cs内容如下: using System; using System.Diagn ...

  5. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

  6. c#中@标志的作用 C#通过序列化实现深表复制 细说并发编程-TPL 大数据量下DataTable To List效率对比 【转载】C#工具类:实现文件操作File的工具类 异步多线程 Async .net 多线程 Thread ThreadPool Task .Net 反射学习

    c#中@标志的作用   参考微软官方文档-特殊字符@,地址 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/toke ...

  7. linux centos7 增加操作日志记录

    2021-08-24 1. 需求产生原因 linux 系统中的日志存放在目录 /var/log/ 下,今天想看看我之前的操作记录,发现系统中的日志并不包括各个用户操作文件的记录,所以打算自己建一个. ...

  8. 基于SQLite日志记录工具--Log4W

    最近压迫自己写点自己的东西,但是水平不高,槽点多,望各位请轻喷,嘿嘿! 以前用过一个Log4Net的东东,但是保存的是文本文件,不好过滤,而且用的不多,也不太熟悉,所以自己也当写一个练练手吧!     ...

  9. [Linux] PHP-FPM开启慢日志记录

    fpm:FastCGI Process Manager 是一种替代的PHP FastCGI实现,对于负载较重的站点非常有用. .先进的进程控制,优雅的停止启动 .能够使用不同的uid/gid/chro ...

随机推荐

  1. 安装gitlab并配置邮箱

    安装要求:运行内存必须大于等于2G 一.安装docker wget -qO- https://get.docker.com/ | sh 镜像加速: echo '{"registry-mirr ...

  2. c语言 c++ 实现查看本地ip,外网ip, 本地主机名,查看http网址对应的ip

    /******************************************************************************* 作者 :邓中强 Email :1246 ...

  3. CAD使用SetxDataLong写数据(com接口)

    主要用到函数说明: MxDrawEntity::SetxDataLong 写一个long扩展数据,详细说明如下: 参数 说明 [in] BSTR val 字符串值 szAppName 扩展数据名称 n ...

  4. CAD使用GetxDataString读数据(com接口)

    主要用到函数说明: MxDrawEntity::GetxDataString2 读取一个字符扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, retval ...

  5. 十六进制字符串转byte (无符号字符串);

    方法一: unsigned char* hexstr_to_char(const char* hexstr) { size_t len = strlen(hexstr); IF_ASSERT(len ...

  6. 08CSS边框边距

    CSS边框边距 边框样式——border-style border-top-style border-bottom-style border-left-style border-right-style ...

  7. sqlite3接口简要说明

    本文介绍一下SQLite C/C++接口. 早期的SQLite C/C++接口只有5个接口函数, 很容易学习. 新版本的SQLite新增了很多功能, 目前大概有185个API接口.本文介绍一些核心的A ...

  8. <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅

    文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set     -> key v ...

  9. Layui下拉选渲染

    下拉选渲染有很多方式,这个比较简单,记录一下: HTML代码如下: <div class="layui-input-inline"> <input type=&q ...

  10. Windows——bat中的路径和工具栏运行bat的坑

    工具栏添加的批处理环境 编写一个简单的批处理文件 set testEnv = %cd% pause 这里第一句:设置当前文件夹路径为环境变量testEnv的值 这里第二句:暂停命令窗口 第一次我们直接 ...