【ティー】

tee とは?

最終更新:
💡 入力を、標準出力とファイルへ分岐

標準入力を標準出力と指定したファイルへコピーするUnix系コマンド。パイプの途中でも使え、標準出力の行き先は画面に限らない。

📌 このページのポイント
入力をコピーして分岐 前のコマンド tee 標準出力 次のコマンド等 ファイル 通常は上書き・-aなら追記
パイプから受けた標準入力を標準出力とファイルへコピーする。標準出力の行き先は画面に限らず、ファイルも複数指定できる。
ひよこ ひよこ
teeって何をするの?
ペンギン先生 ペンギン先生
標準入力を標準出力と指定したファイルへコピーするよ。たとえば「ls -l | tee filelist.txt」なら、一覧を保存しながら標準出力にも送る。標準出力が端末につながっていれば、画面でも見られるんだ。
ひよこ ひよこ
ファイルに保存する > と何が違うの?
ペンギン先生 ペンギン先生
> は標準出力の行き先をファイルへ変更する。teeは標準出力へ送りつつファイルにもコピーするんだ。「command1 | tee log.txt | command2」なら、保存した同じデータを次のコマンドへ渡せる。この場合、teeの標準出力は画面へ直接出るわけではないよ。
ひよこ ひよこ
ファイルは一つだけ?続きに追加できる?
ペンギン先生 ペンギン先生
複数指定できるよ。「tee a.txt b.txt」なら両方へコピーする。ただし既存ファイルは通常上書きされる。内容を残して末尾へ追加するなら「tee -a log.txt」を使おう。書き込み先とオプションを確認してね。
ひよこ ひよこ
エラーのメッセージも保存される?
ペンギン先生 ペンギン先生
通常のパイプは標準出力を渡すので、別の標準エラーはそのままでは入らないよ。「command 2>&1 | tee log.txt」なら、commandの標準エラーを標準出力と同じ行き先へ送り、まとめてteeへ渡せる。出力先の指定順にも意味があるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「tee」って出てきたら「入力を標準出力とファイルへ分けてコピーするコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「tee」 = T字型の分岐管
💬 配管のT字管を表す言葉だよ。入力を複数の出力先へ分けるイメージだね。

参考資料

← 用語集にもどる