Linux调试嵌入式时,将程序运行打印同时打印到屏幕并保存到文件

在嵌入式软件开发过程中,经常需要将主机与嵌入式挂载连接进行文件传输以及程序调试。

但是在调试过程中部分Linux终端不具备将程序运行后的打印信息保存到文本中的功能,这对我们后期分析程序运行打印和调试带来了不便。

最近发现一个指令可以很方便的解决这个问题,这个指令就是tee指令,man tee查看该指令的帮助文档发现是又臭又长又看不懂

于是从网上查找下这个指令的具体使用方式并作如下记录:

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件

语法

tee [-ai][--help][--version][文件...]

参数

  • -a或--append 附加到既有文件的后面,而非覆盖它.
  • -i或--ignore-interrupts 忽略中断信号。
  • --help 在线帮助。
  • --version 显示版本信息。

实例

使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:

$ tee file1 file2 #在两个文件中复制内容 

以上命令执行后,将提示用户输入需要保存到文件的数据,如下所示:

My Linux #提示用户输入数据 
My Linux #输出数据,进行输出反馈

此时,可以分别打开文件"file1"和"file2",查看其内容是否均是"My Linux"即可判断指令"tee"是否执行成功。

在运行程序时将程序输出打印保存到文件中,操作如下,假设程序名TeeTest,文件明log.txt

./TeeTest | tee log.txt

程序运行的输出打印就会自动保存到log文件中,并且在终端上正常输出

程序运行打印过多时会出现运行卡顿现象

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();