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




コメント