在嵌入式軟件開發過程中,經常需要將主機與嵌入式掛載連接進行文件傳輸以及程序調試。
但是在調試過程中部分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文件中,並且在終端上正常輸出
程序運行打印過多時會出現運行卡頓現象
閱讀更多 薛定諤的大臉貓 的文章