先要说明为什么要记录终端会话,因为常会遇到这样的情况,终端是有缓存大小限制的,当在终端打印的消息超出缓存范围,它前面的打印消息就自动丢失了,这对于我们调试程序会造成障碍,所以有记录完整终端打印消息的必要!

1使用script记录Linux终端会话

script是大多数Linux产品util-linux软件包的一部分。

script记录会话的一切内容:你输入的内容和你看到的内容。它甚至记录颜色;因此如果你的命令提示符或程序输出中包含颜色,script将记录它。

要使用script,简单执行以下命令:

$ script

默认情况下,它向当前目录的typescript文件中写入内容。然后,你输入的一切内容都被记录到那个文件中。要往另一个文件中记录日志,只需使用script/path/to/file命令。

完成记录后,输入exit退出。这个命令将关闭script会话并保存文件。现在你可以使用cat或其它任何程序来检查日志文件。

Ubuntu/或者其他linux下运行,

script screen.log

开始记录,

记录屏幕信息到screen.log里,一直记录到你exit为止,记录屏幕log的好方法…

结束记录:

exit

使用实例

  1. aulyp@ubuntu:/home/workspace/Android_eclair_smdk6410$ sudo script screen.log //¿ªÊ¼¼Ç¼

  2. [sudo] password for aulyp:

  3. Script started, file is screen.log

  4. root@ubuntu:/home/workspace/android_eclair_smdk6410# sudo make clean

  5. ============================================

  6. PLATFORM_VERSION_CODENAME=REL

  7. PLATFORM_VERSION=2.1

  8. TARGET_PRODUCT=generic

  9. TARGET_BUILD_VARIANT=eng

  10. TARGET_SIMULATOR=

  11. TARGET_BUILD_TYPE=release

  12. TARGET_ARCH=arm

  13. HOST_ARCH=x86

  14. HOST_OS=linux

  15. HOST_BUILD_TYPE=release

  16. BUILD_ID=ERD79

  17. ============================================

  18. Cleaning out/target/product/generic...

  19. Cleaning out/target/common...

  20. Cleaning out/host/linux-x86...

  21. Cleaning out/host/common...

  22. Clean.

  23. root@ubuntu:/home/workspace/android_eclair_smdk6410# exit //Í˳ö¼Ç¼

  24. exit

  25. Script done, file is screen.log

  26. aulyp@ubuntu:/home/workspace/android_eclair_smdk6410$

已经找到了解决方法,异常退出也没有问题,仍然记录log,需要加上参数,script -f ido.log,如果在一个终端上使用mkfifo ido.log;script -f ido.log 然后在另一个终端登录,找到这个ido.log文件,你tail -f 就会滚动输出你操作的内容..这个非常方便…

2.使用script的缺点在于,它记录所有特殊的字符;因此你输入的文件中将充满控制字符和ANSI转义序列。你可以在script中使用一个非常简单的shell来解决这个问题:

SHELL=/bin/bash PS1=”$ ” script

使用script时,不要使用交互式程序或处理窗口的程序,如vior top。它们会破坏会话的输出结果。另外,日志文件会记录你使用的任何命令行程序和你完成一项任务所采取的步骤。如果你需要在脚本中编辑一个文件,考虑退出script会话,然后用script –a(它在旧会话后添加新会话)对文件进行编辑后再重新启动会话。

记录终端输出的LOG到文件的更多相关文章

  1. log4j.properties配置与将异常输出到Log日志文件实例

    将异常输出到 log日志文件 实际项目中的使用: <dependencies> <dependency> <groupId>org.slf4j</groupI ...

  2. android源码环境下用mmm/mm编译模块,输出编译log到文件的方法

    android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ...

  3. 用tee和script来记录终端输出

    如何在输出信息的同时把数据保存到文件当中? 一,如何把命令运行的结果保存到文件当中?这个问题太简单了,大家都知道,用 > 把输出转向就可以了 例子:[lhd@hongdi ~]$ ls > ...

  4. 【转】 Linux中记录终端输出到txt文本文件

    转载: http://blog.csdn.net/tengh/article/details/41823883 一,把命令运行的结果保存到文件当中:用 > 把输出转向就可以了 例子: $ ls ...

  5. [转]Android输出Log到文件

    前言:开发中遇到mx4这款机型Eclipse联调不上,logcat看不了,需要输出生成文件查看调试信息.网上搜了下,功能很完善了.startService和过滤输出信息需要自己添加设置,另外注意添加权 ...

  6. Linux中记录终端(Terminal)输出到文本文件(转载)

    一,如何把命令运行的结果保存到文件当中? 这个问题太简单了,大家都知道,用 > 把输出转向就可以了 例子: [lhd@hongdi ~]$ ls > ls.txt [lhd@hongdi ...

  7. Linux记录屏幕输出log

    应用场景: 请专家通过Console处理问题时,保留console输出无疑是非常有意义的.一来可留着作为维护日志,二来可供事后学习. 最简洁的方式是通过系统自带的script命令去记录. $ scri ...

  8. 使用触发器实现记录oracle用户登录失败信息到alert.log日志文件

    前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到aler ...

  9. Android记录程序崩溃Log写入文件

    将导致程序崩溃的堆栈调用Log写入文件,便于收集bug.在调试安卓程序,由于某些原因调试时手机不能连接PC端,无法通过IDE查看程序崩溃的Log,希望log能够写入文件中,对于已经发布的App可以通过 ...

随机推荐

  1. Altium Designer summer 9 布线 - 差分对布线

    差分信号系统是采用双绞线进行信号传输的,双绞线中的一条信号线传送原信号,另一条传送的是与原信号反相的信号.差分信号是为了解决信号源和负载之间没有良好的参考地连接而采用的方法,它对电子产品的干扰起到固有 ...

  2. HttpClient 发送 HTTP、HTTPS 请求的简单封装

    import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.Http ...

  3. API认证方法一览

    Open api authentication Amazon DigitalOcean Webchat Weibo QQ Amazon Web Services HMAC Hash Message A ...

  4. 2015第29周五AOP

    AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling ...

  5. Vanya and Triangles 暴力枚举

    枚举法: 枚举法是利用计算机速度快, 精度高的特点, 对要解决的问题所有可能情况进行霸道的, 一个不漏检验, 从中找出符合要求的答案. 特点: 1. 得到的结果一定正确. 2. 可能做了很多无用功,效 ...

  6. javaweb笔记之get和post的不同

    1 GET方式 1)提交的参数数据会放在请求信息的URL后面.以?开头,多个参数数据以 & 分 割. 2)浏览器的地址会发生改变 3)参数数据的容量不能超过1KB. 4)不适合敏感数据的提交 ...

  7. Angular基础教程:表达式日期格式化[转]

    本地化日期格式化: ({{ today | date:'medium' }})Nov 24, 2015 2:19:24 PM ({{ today | date:'short' }})11/24/15 ...

  8. ajax返回json数组遍历添加到html

    大致需求为类型限制根据类型获取不同结果列表,再根据模糊查询搜索出结果,效果如下:

  9. struts2.1.*中再实现了一个servlet的方法

    学习Struts2也有一段时间了,今天用Servlet写了一个验证码,然后搬到Struts2中,惊奇地发现Servlet无法访问,出现404错误!后来折腾了半天,终于找出原因了.这也算我学习中的一个重 ...

  10. SSO跨域解决方案

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可 以将 ...