tee

(コマンドの出力を端末に表示しつつエラー以外の出力をファイルに書き出す)
[コマンド行] | tee [出力ファイルの場所...]

(コマンドのエラーを含む出力を端末に表示しつつファイルに書き出す)
[コマンド行] 2>&1 | tee [出力ファイルの場所...]

(ファイルをコピー・ただしファイル属性の類はコピーされない)
tee < [入力ファイル] [出力ファイルの場所...] > /dev/null
  • 標準入力から読み込みを行い、標準出力と別のファイル(複数可)の2つ以上に書き出す

  • プログラムのビルド処理(makesconsなど)のような、実行時に大量のメッセージ出力を行う際にテキストファイルとしてその内容を記録しておくのに便利

  • 名前の由来はアルファベットのTの形(2分岐)からだが、上に書いたように3分岐以上も可となっている

  • -a(--append)オプションを付けると、ファイルが既に存在する場合に追記する(既存の内容は失われない)

  • 引数(出力ファイル)に/dev/stderrを指定すると標準入力を標準出力と標準エラー出力に分岐させることができる