Linux命令 tee - 從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)并重定向到標(biāo)準(zhǔn)輸出和文件。

2022-03-22 09:34 更新

tee

從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)并重定向到標(biāo)準(zhǔn)輸出和文件。

概要

tee [OPTION]... [FILE]...

主要用途

  • 需要同時(shí)查看數(shù)據(jù)內(nèi)容并輸出到文件時(shí)使用。

參數(shù)

FILE(可選):要輸出的文件,可以為一或多個(gè)。

選項(xiàng)

長(zhǎng)選項(xiàng)與短選項(xiàng)等價(jià)

-a, --append               追加到文件中而不是覆蓋。
-i, --ignore-interrupts    忽略中斷信號(hào)(Ctrl+c中斷操作無(wú)效)。
-p                         診斷寫(xiě)入非管道的錯(cuò)誤。
--output-error[=MODE]      設(shè)置寫(xiě)錯(cuò)誤時(shí)的行為,請(qǐng)查看下方的MODE部分。
--help                     顯示幫助信息并退出。
--version                  顯示版本信息并退出。

MODE決定了當(dāng)出現(xiàn)寫(xiě)錯(cuò)誤時(shí)的輸出行為,可用的MODE如下:

'warn'           當(dāng)寫(xiě)入到任何輸出報(bào)錯(cuò)時(shí)診斷。
'warn-nopipe'    當(dāng)寫(xiě)入到任何輸出(而不是管道)報(bào)錯(cuò)時(shí)診斷。
'exit'           當(dāng)寫(xiě)入到任何輸出報(bào)錯(cuò)時(shí)退出。
'exit-nopipe'    當(dāng)寫(xiě)入到任何輸出(而不是管道)報(bào)錯(cuò)時(shí)退出。

-p選項(xiàng)的指定的默認(rèn)MODE為'warn-nopipe'。
當(dāng)'--output-error'沒(méi)有在選項(xiàng)中時(shí),默認(rèn)的操作是當(dāng)寫(xiě)入到管道報(bào)錯(cuò)時(shí)立刻退出,診斷錯(cuò)誤信息并寫(xiě)入到非管道輸出。

返回值

返回狀態(tài)為成功除非給出了非法選項(xiàng)或非法參數(shù)。

例子

# 將進(jìn)程信息通過(guò)管道輸出到標(biāo)準(zhǔn)輸出(終端)并覆蓋寫(xiě)入到文件中。
ps -ef |tee info_a.log info_b.log

# 將進(jìn)程信息通過(guò)管道輸出到標(biāo)準(zhǔn)輸出(終端)并追加寫(xiě)入到文件中。
ps -ef |tee -a info_a.log info_b.log

注意

  1. 該命令是GNU coreutils包中的命令,相關(guān)的幫助信息請(qǐng)查看man -s 1 tee或info coreutils 'tee invocation'。
  2. 存在緩存機(jī)制,每1024個(gè)字節(jié)將輸出一次。若從管道接收輸入數(shù)據(jù),應(yīng)該是緩沖區(qū)滿,才將數(shù)據(jù)轉(zhuǎn)存到指定的文件中。若文件內(nèi)容不到1024個(gè)字節(jié),則接收從標(biāo)準(zhǔn)輸入設(shè)備讀入的數(shù)據(jù)后,將刷新一次緩沖區(qū),并轉(zhuǎn)存數(shù)據(jù)到指定文件。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)