初めに #
Linux環境でコマンドを実行する際、結果を確認しながら同時にファイルへ保存したい、という場面は多々あります。
本記事では、tee
コマンドを使って、標準出力を確認しながらファイルにも保存する方法を解説していきます。
リダイレクト演算子 #
Linuxでは、リダイレクト演算子を使うことで、コマンドの標準出力をファイルに保存することができます。
例えば、以下のコマンドは、echo
の出力結果をtest.txt
に保存します。
echo "Hello Linux" > test.txt
しかしこの方法では、出力内容はファイルに書き込まれるものの、ターミナル上には表示されません。
そのため、結果を確認するためには、ファイルを別途開いて内容を確認する手間が発生してしまいます。
特に作業中にすぐに出力結果を確認したい場合や、リアルタイムで状況を把握したい場合には、少々不便となります。
teeコマンド #
このような場合に便利なのが、tee
コマンドとなります。
teeコマンドを使うと、標準出力をそのままターミナルに表示しつつ、同時にファイルにも保存することができます。
先ほどのコマンドをteeを使って書き換えると、次のようになります。
echo "Hello Linux" | tee test.txt
このコマンドでは、出力内容がターミナルにも表示され、かつファイルtest.txt
にも上書きで保存されます。
オプションを指定しない場合、リダイレクトの>
と同様に、既存の内容は上書きされます。
teeコマンドにてリダイレクトの>>
と同じように、ファイルに追記を行うには-a
オプションを付与します。
以下はオプションを付与した例となります。
echo "Hello Linux" | tee -a test.txt
このコマンドを実行すると、ファイルtest.txt
の末尾に新たな出力内容が追記されます。
ターミナルにはリアルタイムで出力が表示されるため、保存と同時に内容の確認も可能です。