導航:首頁 > 信息系統 > linux控制台輸出信息保存在哪裡

linux控制台輸出信息保存在哪裡

發布時間:2023-03-25 23:25:39

❶ 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下如何將,控制台輸出的所有內容,全部輸出到一個文本文件

直接使用輸出重定向到你想要的文件即可,不過將所有的控制到信息輸出到一個文本文件,只有兩個辦法:
①:修改所有程序的輸出路徑:printf函耐段前數 echo.....幾乎是不可能完成的任務
②:修改linux的標准輸出路徑:

句柄 句柄的數字代號 描述
STDIN 0 鍵盤輸入
STDOUT 1 輸出到命令提昌清示符窗口
STDERR 2 錯誤輸出到命令提示符窗口

將標准燃脊輸出 標准輸出的默認設置更改為你要保存的文件,這樣就會控制台的信息就會輸出到你指定的文件裡面

❸ linux保存printf信息

在Linux系統中,可以使用重定向符號「>」將printf輸出的信息保存至文件中。例如,若要將printf輸出的信息保存至名為「output.txt」的文件中,可以使用以下命令:

printf "Hello World\n" > output.txt

這將把「Hello World」字元串輸出到終端,並將其保存旦答至「output.txt」文件中。如果要將多州遲派次printf輸出的信息保存至同一文件中,可以使用「>>」符號表示追加輸出,例冊賀如:

printf "Hello World\n" >> output.txt
printf "How are you today?\n" >> output.txt

這將將兩個printf輸出追加到「output.txt」文件末尾,而不會覆蓋之前的輸出。

閱讀全文

與linux控制台輸出信息保存在哪裡相關的資料

熱點內容
c程序的解決方案是哪個文件夾 瀏覽:300
銷售庫存數據為什麼沒有記入 瀏覽:741
乒乓球如何判斷對手技術 瀏覽:975
數據採集如何執行 瀏覽:22
二手房交易的保險是什麼 瀏覽:298
房子未滿二年如何交易 瀏覽:936
本地資料庫如何實時備份 瀏覽:40
如何投訴伊利代理商 瀏覽:7
無錫技術裝飾裝潢工程包括什麼 瀏覽:71
怎麼樣快速統計表格信息 瀏覽:273
股市下跌多少自動停止交易 瀏覽:205
浙江荷花池批發市場哪些品牌好 瀏覽:509
測控儀器與技術學什麼 瀏覽:727
為什麼入賬價值要加交易費 瀏覽:551
美爾信產品質量怎麼樣 瀏覽:460
公司代理費用多少 瀏覽:422
女人跑美容養生市場穿什麼衣服好 瀏覽:646
信息技術公司推廣費怎麼入賬 瀏覽:198
沈陽如何找工作信息中心 瀏覽:853
延遲程序怎麼寫 瀏覽:935