【bash】リダイレクトとパイプを理解する(4)

前回:【bash】リダイレクトとパイプを理解する(3)

今回はteeコマンドを説明します。

teeコマンドをあるコマンドとパイプで接続することで、
あるコマンドの実行結果をファイルと標準出力に同時に出力することができます。

teeコマンド

≪書式≫
$ tee ファイル名  …  標準入力(FD0番)から受け取ったデータをファイルと標準出力(FD1番)に出力する。

≪記述例≫
$ ls | tee result.txt  …  lsコマンドの実行結果がファイル「result.txt」と標準出力(FD1番)に出力される。

記述例の動作イメージは下記の通りです。
lsコマンドのFD1番とteeコマンドのFD0番がパイプを介して接続され、
lsコマンドの実行結果がteeコマンドに渡されます。
teeコマンドは受取ったデータをファイル「result.txt」とFD1(標準出力)に出力します。


この他、teeコマンドを一連の処理を構成するコマンドとコマンドの間に入れることで、
処理の途中経過を知ることもできます。


リダイレクトとパイプに関するまとめは、これで終わりです。

リダイレクトとパイプは、イマイチわかり難いという話をよく耳にしますが、
動作をイメージして取り組めば意外と簡単に理解できるようになる思います。


前回:【bash】リダイレクトとパイプを理解する(3)