ubuntu使用-记录终端输出的LOG

--作者:赖玉平(peter lai)[email protected]

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

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.  
  2. aulyp@ubuntu:/home/workspace/android_eclair_smdk6410$ sudo script screen.log //¿ªÊ¼¼Ç¼
  3.  
  4. [sudo] password for aulyp:
  5.  
  6. Script started, file is screen.log
  7.  
  8. root@ubuntu:/home/workspace/android_eclair_smdk6410# sudo make clean
  9.  
  10. ============================================
  11.  
  12. PLATFORM_VERSION_CODENAME=REL
  13.  
  14. PLATFORM_VERSION=2.1
  15.  
  16. TARGET_PRODUCT=generic
  17.  
  18. TARGET_BUILD_VARIANT=eng
  19.  
  20. TARGET_SIMULATOR=
  21.  
  22. TARGET_BUILD_TYPE=release
  23.  
  24. TARGET_ARCH=arm
  25.  
  26. HOST_ARCH=x86
  27.  
  28. HOST_OS=linux
  29.  
  30. HOST_BUILD_TYPE=release
  31.  
  32. BUILD_ID=ERD79
  33.  
  34. ============================================
  35.  
  36. Cleaning out/target/product/generic...
  37.  
  38. Cleaning out/target/common...
  39.  
  40. Cleaning out/host/linux-x86...
  41.  
  42. Cleaning out/host/common...
  43.  
  44. Clean.
  45.  
  46. root@ubuntu:/home/workspace/android_eclair_smdk6410# exit //Í˳ö¼Ç¼
  47.  
  48. exit
  49.  
  50. Script done, file is screen.log
  51.  
  52. 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(它在旧会话后添加新会话)对文件进行编辑后再重新启动会话。


要学好嵌入式,还是建议买一个开发板,因为在枯燥的学习中,要能实践才会记忆深刻,而且,在看到自已学的知道能做出一些功能,会很有成就感,更能积累信心往深处学。例如学驱动开发,能在开发板上做出一个应用,调用自已写的驱动程序,控制LED灯的亮灭,这就很有信心,让自已更有兴趣往下学。这样学习起来会更快!

推荐下面4款,你可以根据你的经济能力来选一个


1、高级嵌入式开发板 ARM-A8内核,价格在2200~2700
X-210开发板(代码开放度高,XBOOT很牛)   
Mini210开发板 (友善的板子,有沉淀)

2、入门级嵌入式开发板 ARM11内核  ,价格在500~650之间
Tiny6410    (友善之臂经典之作)     
OK6410    (特点是支持WINCE7.0)

可以去风火轮团队的店里看一下,在他们那里买开发板有个好处,他们提供更周到的技术支持

风火轮技术开发团队  www.arm-cn.com

官方淘宝店:smartfire.taobao.com


你可能感兴趣的:(linux,ubuntu,嵌入式,Build,终端,WinCE)