tee用于把命令結(jié)果打印在屏幕上并同時保存到文件。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)桑植免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
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是標準錯誤,有時候屏幕上可以看到,但是重定向的文件中看不到的就是它了
輸出即把相關(guān)對象通過輸出設(shè)備(顯示器等)顯示出來,輸出又分正確輸出和錯誤輸出
一般情況下標準輸出設(shè)備為顯示器,標準輸入設(shè)備為鍵盤。
linux中用0代表標準輸入,1代表標準正確輸出,2代表標準錯誤輸出。
輸出重定向:正常輸出是把內(nèi)容輸出到顯示器上,而輸出重定向是把內(nèi)容輸出到文件中
例如:ifconfig test.log 即把ifconfig執(zhí)行顯示的內(nèi)容寫入test.log.當前頁面不再顯示執(zhí)行結(jié)果。
注意:錯誤輸出重定向/后邊沒有空格
命令 文件 21 和 命令 文件 兩個命令作用相同
系統(tǒng)有個常見用法 ls /dev/null 正確輸出或錯誤輸出結(jié)果都不要。(null可以理解為黑洞或垃圾站)
命令文件1 2文件2 正確日志和錯誤日志分開保存
例:nohup java -jar /usr/sbin/lb-agent.jar /var/log/lb-agent.log 21
將jar執(zhí)行的結(jié)果寫入到lb-agent.log中
在命令最后加上符號,表示讓這個進程到后臺去執(zhí)行,這樣立刻返回到提示符狀態(tài),我們可以接著做下面的事。如:command 。
這種“后臺”進程在shell一直打開的情況下是沒有問題的,如果我們關(guān)了shell窗口甚至退出ssh登錄或vnc登錄,那么進程自動就結(jié)束了。所以如果想退出窗口乃至退出登錄仍然保持程序運行,再加上nohup,形如:nohup command 1output 21 ??《Linux就該這么學》學習更多l(xiāng)inux知識。
Linux不像Windows一樣,接上新硬件后可以自動識別,在Linux下無法自動識別新硬件的,需要手動去識別。USB移動存儲設(shè)備通常被識別為sda1,具體可以通過fdisk -l命令查詢。
在使用U盤前,我們先要為外掛點新建一個子目錄,一般外掛點的子目錄都是建立在/mnt里面的,我們也建在那里,當然也可以建在/目錄下,名字可以自己定,我們就取名為usb,終端下的命令如下:
mkdir /mnt/usb
然后我們就可以接上我的U盤了,然后在終端下輸入命令并擊Enter鍵即可:
mount /dev/sda1 /mnt/usb
在Windows下當我們用完U盤后,在我們?nèi)∠耈盤前我們先要刪除,同樣在Linux下我們也要刪除掛起點,方法是:
umount /dev/sda1 /mnt/usb 或 umount /dev/sda1
如果不把U盤給umount掉,那樣很容易造成數(shù)據(jù)的丟失
在linux系統(tǒng)下用vim打開大小幾個G、甚至幾十個G的文件時,是非常慢的。
這時,我們可以利用下面的方法分割文件,然后再打開。
1、查看/導出文件的前多少行
上面命令的意思是:把big.log文件前10000行的數(shù)據(jù)寫入到temp.log文件中。
2 、查看文件的后多少行
上面命令的意思是:把big.log文件后10000行的數(shù)據(jù)寫入到temp.log文件中。
3 、查看文件的幾行到幾行
上面命令的意思是:把big.log文件第10到10000行的數(shù)據(jù)寫入到temp.log文件中。
4 、根據(jù)查詢條件導出
5、 實時監(jiān)控文件輸出(查看日志時經(jīng)常會用到)
1、首先在電腦上打開虛擬機。然后打開Linux系統(tǒng),進入到主目錄。
2、然后在主目錄中創(chuàng)建一個students目錄。命令:mkdir students。
3、然后進入到students目錄中。再創(chuàng)建兩個目錄fuzhi1,fuzhi2。
4、然后進入到fuzhi1目錄中。用touch命令創(chuàng)建一個6.JPG文件。
5、然后用cp命令將6.JPG文件移動到fuzhi2目錄中。命令為cp 6.JPG ~/students/fuzhi2。
6、然后用cd ~/students/fuzhi2命令進入到fuzhi2目錄中。用ls命令檢查JPG文件成功復制到fuzhi2目錄。這樣說明文件的復制操作成功。
您想問的是linux中的shell腳本中輸出文本內(nèi)容到文件的命令是什么嗎?shell變量調(diào)出命令。
linux中的shell腳本有多種命令格式,其中輸出文本內(nèi)容到文件的命令包括但不限于shell文本命令調(diào)出、shell變量取值等。
Linux操作系統(tǒng)是基于UNIX操作系統(tǒng)發(fā)展而來的一種克隆系統(tǒng),它誕生于Linux桌面1991年10月5日(這是第一次正式向外公布的時間)。以后借助于Internet網(wǎng)絡(luò),并通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。
分享名稱:linux導出命令到文件 linux文件怎么導出來
URL分享:http://redsoil1982.com.cn/article16/dodhpdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站策劃
聲明:本網(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)