Command-Line-Interface
如何將控制台重定向/保存到文件並使其在螢幕上可見?
我想將程序的輸出(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
.