【Linux】実行結果をファイルへ保存と表示を同時に行う:tee

Linux

どーも!marusukeです!

コマンドの実行結果をファイルへリダイレクトしながら、同時にコマンドライン上に表示させるコマンドteeについて説明します!

teeコマンドの使用方法

echo "こんにちは!" | tee welcome.txt

この例では、echoコマンドで生成された文字列をteeコマンドを使用してwelcome.txtファイルに書き込みながら、同時に標準出力(コマンドライン画面上)にも表示します

その他の使用例

1. ログファイルの作成

システムアップデートのプロセスを実行しながら、その結果をログファイルに保存する例です。

sudo apt update | tee update.log

このコマンドは、Ubuntuシステムでパッケージリストを更新するプロセスの出力を画面に表示しながら、同時にupdate.logファイルにも保存します。

2. デバッグ情報の取得

スクリプト実行時の出力を確認しながら、ログファイルにも記録する例です。

./some_script.sh | tee script_output.log

some_script.shの実行結果がコンソールに表示されると同時に、script_output.logファイルにも保存されます。後でこのファイルを使って、スクリプトの実行結果を分析できます

3. パイプライン処理

あるコマンドの出力を別のコマンドに渡す前に、その出力をファイルに保存する例です。

cat /var/log/syslog | grep 'error' | tee errors.log | less

このコマンドは、システムログファイル(/var/log/syslog)からerrorという文字列を含む行を抽出し、その結果をerrors.logファイルに保存しつつ、lessコマンドでページング表示します

teeコマンドのオプション

オプション説明
-a, --appendファイルに上書きではなく、追記する
-i –ignore-interrupts割り込みシグナルを無視する

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました