簡體   English   中英

如何在Linux上將命令的輸出傳遞給文件

[英]How to pipe the output of a command to file on Linux

我正在CLI上運行一個任務,它提示我輸入是/否。

選擇一個選項后,屏幕上會滾動大量信息 - 包括幾個錯誤。 我想將此輸出傳遞給一個文件,以便我可以看到錯誤。 由於命令需要鍵盤輸入,因此簡單的“>”無效。

我在Ubuntu 9.1上運行。

command &> output.txt

您可以使用&>將stdout和stderr重定向到文件。 這是command > output.txt 2>&1簡寫,其中2>&1表示“將stderr發送到與stdout相同的位置”(stdout是文件描述符1,stderr是2)。

對於交互式命令,如果我可以less並立即讀取結果,我通常不會費心保存到文件中:

command 2>&1 | less
echo yes | command > output.txt

根據命令如何讀取它的輸入(某些程序在顯示它的提示之前丟棄stdin上的任何內容,但大多數沒有),這應該適用於任何理智的CLI環境。

您可以使用2>選項將錯誤發送到文件。

例:

命令2> error.txt

(使用選項2>)---看看它們在執行命令時是否會出現任何錯誤,它會將它發送到文件error.txt。

使用2>而不僅僅是>

如果程序是由一個理智的人寫的,你可能想要的是stderr而不是stdout。 你可以通過使用類似的東西來實現這一點

foo 2> errors.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM