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

2022-03-22 09:34 更新

tee

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

概要

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

主要用途

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

參數(shù)

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

選項

長選項與短選項等價

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

MODE決定了當出現(xiàn)寫錯誤時的輸出行為,可用的MODE如下:

'warn'           當寫入到任何輸出報錯時診斷。
'warn-nopipe'    當寫入到任何輸出(而不是管道)報錯時診斷。
'exit'           當寫入到任何輸出報錯時退出。
'exit-nopipe'    當寫入到任何輸出(而不是管道)報錯時退出。

-p選項的指定的默認MODE為'warn-nopipe'。
當'--output-error'沒有在選項中時,默認的操作是當寫入到管道報錯時立刻退出,診斷錯誤信息并寫入到非管道輸出。

返回值

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

例子

# 將進程信息通過管道輸出到標準輸出(終端)并覆蓋寫入到文件中。
ps -ef |tee info_a.log info_b.log

# 將進程信息通過管道輸出到標準輸出(終端)并追加寫入到文件中。
ps -ef |tee -a info_a.log info_b.log

注意

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號