tee コマンド チートシート
基本構文
command | tee [OPTION]... [FILE]...
基本的な使い方
1. 標準出力を表示しつつファイルに書き込む
ls -l | tee output.txt
2. 既存のファイルに追記する
ls -l | tee -a output.txt
3. 複数のファイルに書き込む
echo "Hello, world!" | tee file1.txt file2.txt
4. sudo でログを取りながらコマンドを実行する
echo "Secure update" | sudo tee /etc/example.conf
5. コマンドのエラーメッセージを含めて出力を記録する
command 2>&1 | tee output.log
オプション一覧
| オプション | 説明 |
|---|---|
-a, --append |
既存のファイルに追記する |
-i, --ignore-interrupts |
中断シグナル (Ctrl+C) を無視する |
--help |
ヘルプを表示する |
--version |
バージョン情報を表示する |
応用例
1. スクリプトの実行ログを保存する
./script.sh | tee script.log
2. dmesg の出力をリアルタイムに記録する
dmesg | tee -a dmesg.log
3. コマンドの出力を複数のファイルに保存する
ls -l | tee file1.txt file2.txt file3.txt
4. sudo を使ってシステム設定を書き換える
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
5. cron ジョブのログを記録する
0 * * * * /path/to/script.sh | tee -a /var/log/script.log
まとめ
tee コマンドは、標準出力をリアルタイムにファイルへ保存する便利なツールである。-a オプションで追記、2>&1 で標準エラー出力を含めることで、ログの取得が容易になる。
man teeより引用
TEE(1) User Commands TEE(1)
NAME
tee - read from standard input and write to standard output and files
SYNOPSIS
tee [OPTION]... [FILE]...
DESCRIPTION
Copy standard input to each FILE, and also to standard output.
-a, --append
append to the given FILEs, do not overwrite
-i, --ignore-interrupts
ignore interrupt signals
-p operate in a more appropriate MODE with pipes.
--output-error[=MODE]
set behavior on write error. See MODE below
--help display this help and exit
--version
output version information and exit
MODE determines behavior with write errors on the outputs:
warn diagnose errors writing to any output
warn-nopipe
diagnose errors writing to any output not a pipe
exit exit on error writing to any output
exit-nopipe
exit on error writing to any output not a pipe
The default MODE for the -p option is 'warn-nopipe'. With "nopipe" MODEs, exit immediately if all outputs become broken pipes. The default opera‐
tion when --output-error is not specified, is to exit immediately on error writing to a pipe, and diagnose errors writing to non pipe outputs.
AUTHOR
Written by Mike Parker, Richard M. Stallman, and David MacKenzie.
REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
COPYRIGHT
Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
Full documentation <https://www.gnu.org/software/coreutils/tee>
or available locally via: info '(coreutils) tee invocation'
GNU coreutils 9.4 April 2024 TEE(1)