首頁>技術>

在Linux下的開發中,printf列印除錯資訊預設輸出到標準輸出 stdout (即螢幕/終端)中。我們也可以使用輸出重定向技術輸出到指定檔案中,輸出重定向即是把原本要輸出到螢幕的資訊寫入到指定檔案中。比如:

但是有時候既要實時檢視列印除錯資訊,又要把這些除錯資訊儲存下來發給他人分析。

下面分享能達到這個需求的兩種方法:

1、使用script工具

script工具是一個非常使用的工具,可以把輸出到終端的資訊記錄下來。使用方法如:

(1)輸入 script log.txt命令開始儲存終端輸出的資訊 ,其中log.txt為需要寫入的log檔案,可隨意命名。

(2)輸入exit退出儲存。

演示如下:

之前我只知道有script 這樣一個工具,而且經常在Ubuntu上使用。奈何開發板裡的系統沒這個工具,所以很長的一段時間我都是等程式跑完後我手動從終端複製全部資訊到文字中儲存。剛開始程式跑得不久,日誌資訊還不是很多,還可以接受。後面程式跑久了,日誌資訊越來越多,再這麼手動複製實在受不了。

所以找了另外的方法:使用tee工具。

2、使用tee工具

tee工具用於將資料重定向到檔案,另一方面還可以提供一份重定向資料的副本作為後續命令的stdin。簡單的說就是把資料重定向到給定檔案和螢幕上。

存在快取機制,每1024個位元組將輸出一次。若從管道接收輸入資料,應該是緩衝區滿,才將資料轉存到指定的檔案中。若檔案內容不到1024個位元組,則接收完從標準輸入裝置讀入的資料後,將重新整理一次緩衝區,並轉存資料到指定檔案。

演示如下:

可見,使用tee工具輸入到文本里的內容比script工具輸入到文本里的內容還要乾淨,就是程式列印輸出的東西。

以上就是本次分享的兩個實用小工具的使用,希望大家喜歡~

10
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 關於Redis的幾件事 | 高併發和高可用