Command-Line-Interface

如何將控制台重定向/保存到文件並使其在螢幕上可見?

  • June 8, 2012

我想將程序的輸出(stdout)保存到文件中,但仍然能夠實時在螢幕上看到輸出。

我需要適用於 Linux 和 Windows 的解決方案。

在 Linux 中,您可以使用該tee實用程序。

在 Windows 中,PowerShell 包含一個tee cmdlet。對於cmd,您將需要下載並安裝一個單獨的 實用程序

在 Linux 和類似系統上:

program | tee filename

tee程序將進入其標準輸入的任何內容髮送到其標準輸出(如cat),並將其寫入指定的文件。

獲得相同效果的另一種方法是

program >filename 2>/dev/null &
tail -f filename

這將在後台執行程序,將其標準輸出重定向到文件,然後tail -f讓您實時跟踪寫入文件的數據(或幾乎如此,可能延遲幾分之一秒)。使2>/dev/null標準錯誤流消失,因此它不會干擾tail -f.

引用自:https://serverfault.com/questions/138495