Linux調試嵌入式時,將程序運行打印同時打印到屏幕並保存到文件

在嵌入式軟件開發過程中,經常需要將主機與嵌入式掛載連接進行文件傳輸以及程序調試。

但是在調試過程中部分Linux終端不具備將程序運行後的打印信息保存到文本中的功能,這對我們後期分析程序運行打印和調試帶來了不便。

最近發現一個指令可以很方便的解決這個問題,這個指令就是tee指令,man tee查看該指令的幫助文檔發現是又臭又長又看不懂

Linux調試嵌入式時,將程序運行打印同時打印到屏幕並保存到文件

於是從網上查找下這個指令的具體使用方式並作如下記錄:

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文件中,並且在終端上正常輸出

程序運行打印過多時會出現運行卡頓現象


分享到:


相關文章: