tee用于把命令結(jié)果打印在屏幕上并同時保存到文件。
創(chuàng)新互聯(lián)建站:成立與2013年為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千多家公司企業(yè)提供了專業(yè)的網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 定制網(wǎng)站制作由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
tee用法
描述:從標準輸入中讀取并同時寫入到標準輸出和指定的文件上
選項:
-a,--append:不覆蓋,而是追加輸出到指定的文件中
-i,--ignore-interrupts:忽略中斷信息
若指定的輸出文件為'-',則再次輸出到標準輸出上
實例:
tee Example.txt #將標準輸入中輸入的內(nèi)容同時輸出到Example.txt和標準輸出上
實踐:
例如 ifconfig | tee ifconfig.log
查看iconfig.log
注:
標準輸入一般有鍵盤和其它文件,標準輸出有屏幕等。tee只能進行標準輸入的輸出,對于錯誤輸入是不能輸出的。
在調(diào)試腳本時,想要每個命令的執(zhí)行過程都輸出到屏幕或者文件中,以便后續(xù)查看,如何操作呢?首先腳本第一行要寫為“#!/bin/bash -x”,這樣會把每個命令的執(zhí)行記錄都輸出到屏幕,若還要輸出到指定文件,要用到tee,但tee只能進行標準輸入,對于標準輸入和錯誤輸入要用到下式:
./filename.sh 21 | tee output.log? ?或者直接 bash -x ./filename.sh?21 | tee output.log
今天調(diào)試一個bash,要把屏幕的輸出結(jié)果存到log文件中,開始輸入$bash -x ./test.sh log 結(jié)果發(fā)現(xiàn)log里只存放了程序的執(zhí)行結(jié)果,后來在cu的一篇帖子里?tid=264380highlight=bash得到了啟發(fā),bash -x的調(diào)試信息是輸出到2號流中的,所以解決方案為bash -x ./test.sh 21 | tee log 想起以前要存放執(zhí)行make的結(jié)果時也遇到類似問題,總結(jié)如下:
1、管道符的“I”的作用只是把前一個程序的標準輸出流(stdout)的數(shù)據(jù)作為后一個程序的標準輸入流stdin的數(shù)據(jù),如不進行重定向,則其他輸出流的信息是無法傳給后面的程序的
2、屏幕得到的信息不一定是從程序的標準輸出來的,也包括標準錯誤輸出流stderr中的信息
3、有些程序(特別是象bash、make這樣執(zhí)行了其他程序的程序)的設(shè)計者為了省事,把一些正常情況的信息也放在stderr中輸出(即使程序本身并無錯誤),而stdout用來輸出被調(diào)用程序的執(zhí)行時信息,造成了用戶的誤解簡單編寫了一下腳本,通過ssh登陸在命令行下運行正常,可是將腳本添加到crontab中就不正常。想記錄一下輸出信息,分析一下錯誤原因。將腳本通過使用info.log 重定向輸出,結(jié)果發(fā)現(xiàn)一些在命令行下可以看到的文本信息沒有記錄到info.log文件中,研究了一下,那些輸出估計是輸出到了標準錯誤上。
研究了一下通常添加命令后面幾個輸出含義
■ /dev/null 輸出到空設(shè)備,表示丟掉輸出信息。
■ 21將輸出到標準錯誤的信息輸出到標準輸出設(shè)備(通常是屏幕)有3個默認的i/o,
■ 0是標準輸入,一般是鍵盤
■ 1是標準輸出,一般是屏幕
■ 2是標準錯誤,有時候屏幕上可以看到,但是重定向的文件中看不到的就是它了
在 Linux 系統(tǒng)中,可以使用 ls 命令列出當前目錄下的文件和目錄。如果您希望在 ls 命令的輸出中添加行號,可以使用 nl 命令配合 ls 命令使用。例如,您可以這樣使用這兩個命令:
ls | nl
這條命令會列出當前目錄下的文件和目錄,并在每一行的開頭添加一個行號。如果您只想顯示文件,可以使用 -l 參數(shù)來更改 ls 命令的輸出,例如:
ls -l | nl
這條命令只會列出當前目錄下的文件,并且會顯示每個文件的詳細信息,包括權(quán)限、大小、時間等。
需要注意的是,nl 命令的行號是從 1 開始的,如果您希望從其他數(shù)字開始編號,可以使用 -n 參數(shù)來指定行號的開始值。例如,如果您希望從 5 開始編號,可以這樣使用 nl 命令:
ls | nl -n 5
這條命令會從 5 開始編號,每一行的行號都比上一行多 1。您還可以使用其他參數(shù),來控制行號的格式和顯示方式。具體的用法可以參考 nl 命令的幫助文檔,或者搜索相關(guān)資料。
top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況,類似于Windows的任務(wù)管理器。top顯示系統(tǒng)當前的進程和其他狀況,是一個動態(tài)顯示過程,可以自動或者通過用戶按鍵來不斷刷新當前狀態(tài)。如果在前臺執(zhí)行該命令,它將獨占前臺,直到用戶終止該程序為止.。比較準確的說,top命令提供了實時的對系統(tǒng)處理器的狀態(tài)監(jiān)控,顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表。top命令可以按CPU使用、內(nèi)存使用和執(zhí)行時間對任務(wù)進行排序。而且該命令的很多特性都可以通過交互式命令或者在個人定制文件中進行設(shè)定.。
下面詳細介紹它的使用方法。
對于一個新手來說,如果從來沒有使用過top命令,在命令行模式下直接輸入top,可以查看到當前所有進程的信息。
輸出結(jié)果中,有很多指標。下面介紹各個指標都代表什么含義。
top命令輸出結(jié)果中,統(tǒng)計信息區(qū)前五行是系統(tǒng)整體的統(tǒng)計信息。
第一行是任務(wù)隊列信息,同 uptime 命令的執(zhí)行結(jié)果。其內(nèi)容如下:
第二、三行為進程和CPU的信息。當有多個CPU時,這些內(nèi)容可能會超過兩行。內(nèi)容如下:
最后兩行為內(nèi)存信息。內(nèi)容如下:
進程信息區(qū)統(tǒng)計信息區(qū)域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
默認情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內(nèi)容。
參考列表:
名稱欄目:linux命令信息輸出 linux命令輸出指定格式
網(wǎng)頁網(wǎng)址:http://www.chinadenli.net/article36/hgohsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信小程序、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、標簽優(yōu)化、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)