どーも!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 | 割り込みシグナルを無視する |
以上です!
ここまで読んでいただきありがとうございました!
コメント