『壹』 如何把linux標準的正確輸出和錯誤輸出同步到一個文件呢
直接使用以下命令即可,例子:echo "chenfan" >>/dev/null 2>&1非常簡單,直接參考上面例子即可.更多關於重定向的問題,請好好看看Linux就該這么學就可以了。
『貳』 linux下,如何將控制台輸出的所有內容全部輸出到一個文本文件
直接使用輸抄出重定向到你想要襲的文件即可,不過將所有的控制到信息輸出到一個文本文件,只有兩個辦法:
①:修改所有程序的輸出路徑:printf函數 echo.....幾乎是不可能完成的任務
②:修改linux的標准輸出路徑:
句柄 句柄的數字代號 描述
STDIN 0 鍵盤輸入
STDOUT 1 輸出到命令提示符窗口
STDERR 2 錯誤輸出到命令提示符窗口
將標准輸出 標准輸出的默認設置更改為你要保存的文件,這樣就會控制台的信息就會輸出到你指定的文件裡面
『叄』 linux運行互動式腳本輸出結果實時屏幕輸出的同時重定向到文件,並屏幕和文件中都有時間戳
時間戳好說,每日輸出日誌前,先執行date命令即可。要實現輸出文件同時列印屏幕只需要在原命令後加管道符,然後接tee 命令再定向到輸出文件。tee命令可以把管道符號前的輸出作為結果文件的輸入同時,列印屏幕。
tee 可以加參數,以追加方式輸出到文件。如tee -a xxx
『肆』 如何讓linux標准輸出和錯誤輸出同時輸出到屏幕和文件同時標准輸出還是標准輸出,錯誤輸出還是錯誤輸出
想要抄把正常輸出信息和錯誤信襲息輸出到分別的文件中,可以用:
make xxx 1> build_output_normal.txt 2>build_output_error.txt
即聯合使用了1和2,正常信息和錯誤信息,都輸出到對應文件中了。
『伍』 linux怎麼在終端中創建文件夾並將運行結果保存至文件中
Linux 終端中命令輸出保存到文件中的方法
當你在 Linux 終端中運行命令或腳本時,它會在終端中列印輸出方便你立即查看。
有時你需要將輸出保存到文件中以備將來參考。當然你可以在 Linux 終端中復制和粘貼,但是有更好的方法可以在 Linux 命令行中保存 shell 腳本或命令的輸出,讓我演示給你看。
方法 1:使用重定向將命令輸出保存到文件中
你可以在 Linux 中使用重定向來達成目的。使用重定向操作符,它會將輸出保存到文件中而不是在屏幕上顯示。
>會將命令輸出重定向到文件,它會替換文件中的所有內容。
>>會將命令輸出添加到文件現有內容的末尾。
使用標准輸出重定向運算符>將輸出重定向到文件:
command > file.txt
如果file.txt不存在,它會自動創建。如果你使用>再次重定向到相同的文件,文件內容將被替換為新的輸出。
下面的示例將更好地演示它。它首先會保存ls -l命令的輸出,然後,它將用ls *.c命令的輸出替換文件的內容。
.png
如果你不想在保存腳本或命令的輸出時丟失現有文件的內容,可以使用>>:
command >> file.txt
下面這個例子更好地展示了它:
.png
即使文件不存在,它也會自動創建。
溫馨提示:將 Linux 命令輸出和錯誤保存到一個文件中。
如果 Linux 命令返回錯誤,那麼錯誤不會保存在文件中。你可以使用2>&1將命令的輸出和錯誤保存到同一個文件中,如下所示:
command > file.txt 2>&1
通常,0代表標准輸入,1代表標准輸出,2代表標准錯誤。在這里,你要將標准錯誤(2) 重定向(&)到與標准輸出(1)相同的地址。
方法 2:使用 tee 命令顯示輸出並將其保存到文件中
順便說一句,你是否注意到,當你將命令輸出發送到一個文件時,你再也無法在終端上看到它了?Linux 的 tee 命令解決了這個問題。
類似於將水流發送到兩個方向的三通管,tee命令將輸出發送到終端以及文件(或作為另一個命令的輸入)。你可以像這樣使用它:
command | tee file.txt
同樣,如果該文件不存在,它將自動創建。
你還可以使用tee命令-a選項進入附加模式:
command | tee -a file.txt
讓我用一些簡單的例子來演示:
.png
我在例子中使用了簡單的 Linux 命令。但是請放心,你也可以使用這些方法來保存 bash 腳本的輸出。
注意:將命令輸出保存到文件時,避免管道陷阱
你可能對管道重定向很熟悉,可以使用它來組合 Linux 命令,但不能將輸出通過管道傳輸到文件,它顯示找不到output.txt命令:
.png
這是因為管道將一個命令的輸出重定向到另一個命令的輸入。在本例中,你向它傳遞一個了一個文件名而它期望一個命令。
如果你是一個 Linux 命令行新手,我希望這個快速教程對你的 Linux 知識有所幫助。I/O 重定向是一個需要注意的基本概念。
一如既往,歡迎提出問題和建議。
到此這篇關於如何將 Linux 終端中命令的輸出保存到文件中實例操作的文章就介紹到這了,更多相關Linux 終端命令輸出保存文件中內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支持我們!
『陸』 linux 終端列印內容輸出到文件
方法:利用tee命令可將linux終端的列印內容輸出到文件
示例:ifconfig | tee ifconfig.log
運行結束後可在ifconfig.log文件中查看列印的內容
『柒』 linux裡面如何在屏幕上顯示命令的結果的同時也把命令的結果保存在文本文件里
換個思路:先保存到文件,然後使用more、cat、head等命令顯示文件內容即可。
示例:執行ls命令,將結果保存到文件,並顯示在屏幕上。
『捌』 linux命令輸出到屏幕的同時保存到文件
tee用於把命令結果列印在屏幕上並同時保存到文件。
tee用法
描述:從標准輸入中讀取並同時寫入到標准輸出和指定的文件上
選項:
-a,--append:不覆蓋,而是追加輸出到指定的文件中
-i,--ignore-interrupts:忽略中斷信息
若指定的輸出文件為'-',則再次輸出到標准輸出上
實例:
tee Example.txt #將標准輸入中輸入的內容同時輸出到Example.txt和標准輸出上
實踐:
例如 ifconfig | tee ifconfig.log
查看iconfig.log
註:
標准輸入一般有鍵盤和其它文件,標准輸出有屏幕等。tee只能進行標准輸入的輸出,對於錯誤輸入是不能輸出的。
在調試腳本時,想要每個命令的執行過程都輸出到屏幕或者文件中,以便後續查看,如何操作呢?首先腳本第一行要寫為「#!/bin/bash -x」,這樣會把每個命令的執行記錄都輸出到屏幕,若還要輸出到指定文件,要用到tee,但tee只能進行標准輸入,對於標准輸入和錯誤輸入要用到下式:
./filename.sh 2>&1 | tee output.log 或者直接 bash -x ./filename.sh 2>&1 | tee output.log
今天調試一個bash,要把屏幕的輸出結果存到log文件中,開始輸入$bash -x ./test.sh > log 結果發現log里只存放了程序的執行結果,後來在cu的一篇帖子里http://bbs.chinaunix.net/viewthread.php?tid=264380&highlight=bash得到了啟發,bash -x的調試信息是輸出到2號流中的,所以解決方案為bash -x ./test.sh 2>&1 | tee log 想起以前要存放執行make的結果時也遇到類似問題,總結如下:
1、管道符的「I」的作用只是把前一個程序的標准輸出流(stdout)的數據作為後一個程序的標准輸入流stdin的數據,如不進行重定向,則其他輸出流的信息是無法傳給後面的程序的
2、屏幕得到的信息不一定是從程序的標准輸出來的,也包括標准錯誤輸出流stderr中的信息
3、有些程序(特別是象bash、make這樣執行了其他程序的程序)的設計者為了省事,把一些正常情況的信息也放在stderr中輸出(即使程序本身並無錯誤),而stdout用來輸出被調用程序的執行時信息,造成了用戶的誤解簡單編寫了一下腳本,通過ssh登陸在命令行下運行正常,可是將腳本添加到crontab中就不正常。想記錄一下輸出信息,分析一下錯誤原因。將腳本通過使用>info.log 重定向輸出,結果發現一些在命令行下可以看到的文本信息沒有記錄到info.log文件中,研究了一下,那些輸出估計是輸出到了標准錯誤上。
研究了一下通常添加命令後面幾個輸出含義
■ >/dev/null 輸出到空設備,表示丟掉輸出信息。
■ 2>&1將輸出到標准錯誤的信息輸出到標准輸出設備(通常是屏幕)有3個默認的i/o,
■ 0是標准輸入,一般是鍵盤
■ 1是標准輸出,一般是屏幕
■ 2是標准錯誤,有時候屏幕上可以看到,但是重定向的文件中看不到的就是它了
『玖』 linux輸出重定向到文件命令
輸出即把相關對象通過輸出設備(顯示器等)顯示出來,輸出又分正確輸出和錯誤輸出
一般情況下標准輸出設備為顯示器,標准輸入設備為鍵盤。
命令 >> 文件 2>&1 和 命令 &>>文件 兩個命令作用相同
系統有個常見用法 ls &>/dev/null 正確輸出或錯誤輸出結果都不要。(null可以理解為黑洞或垃圾站)
命令>>文件1 2>>文件2 正確日誌和錯誤日誌分開保存
例:nohup java -jar /usr/sbin/lb-agent.jar >>/var/log/lb-agent.log 2>&1 &
將jar執行的結果寫入到lb-agent.log中
在命令最後加上&符號,表示讓這個進程到後台去執行,這樣立刻返回到提示符狀態,我們可以接著做下面的事。如:command &。
這種「後台」進程在shell一直打開的情況下是沒有問題的,如果我們關了shell窗口甚至退出ssh登錄或vnc登錄,那麼進程自動就結束了。所以如果想退出窗口乃至退出登錄仍然保持程序運行,再加上nohup,形如:nohup command 1>output 2>&1 &《Linux就該這么學》學習更多linux知識。