ホーム > テキスト処理・検索 > tee

teeコマンド完全ガイド:標準出力とファイルに同時に書き込む

`tee`コマンドは、「T」字型のパイプのように、標準入力から来るデータを標準出力(画面)に送ると同時に、1つ以上のファイルにも保存する役割を果たします。複雑なパイプラインで中間結果をリアルタイムで確認しながら、同時にログファイルに残す際に非常に便利です。

teeコマンドの概要

`tee`はUNIX系システムでパイプ(|)と併用されることが多く、コマンドの結果を画面とファイルに同時に出力することで、データフローを視覚的に監視し記録するのに大いに役立ちます。これは特に、スクリプトの実行結果をログに記録したり、コマンドの実行プロセスを追跡したりする際に便利です。

teeの動作原理

パイプを通して入力されたデータをコピーし、一方は標準出力へ、もう一方は指定されたファイルに保存します。まるで「T」字型の水道管のように水を二股に分けて送るのと似ているため、`tee`という名前が付けられました。

主要オプション

teeコマンドは非常に使いやすく、いくつかのオプションでファイルの保存方法を制御できます。

1. ファイル書き込み方法

2. エラー処理

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`tee` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

よく使われる例

`tee`コマンドを活用して、様々な状況でデータを管理する方法を学びましょう。

lsコマンドの結果を画面とファイルに同時出力

ls -l | tee file_list.txt

現在のディレクトリのファイルリストを画面に表示しつつ、その内容を`file_list.txt`ファイルにも保存します。

ファイル内容に追加する

echo "--- 新しい内容 ---" | tee -a file_list.txt

新しい内容を`file_list.txt`ファイルの末尾に追加します。`>`(リダイレクト)記号とは異なり、画面にも内容が出力されます。

複数のファイルに同時に保存

echo "二つのファイルに同時に保存" | tee file1.txt file2.txt

コマンドの結果を`file1.txt`と`file2.txt`の2つのファイルに同時に保存します。`,`で区切っても、スペースで区切っても構いません。`,`が正しい使用法です。

管理者権限でファイルに書き込む

echo "some text" | sudo tee -a /etc/some_file.conf

パイプを使用すると、`>`リダイレクトが`sudo`の権限を継承できず失敗することがあります。`tee`を使用すると、この問題を解決し、管理者権限でファイルに内容を追加できます。

パッケージのインストール

`tee`はほとんどのLinux/UNIXシステムに標準で含まれているため、別途インストールする必要はありません。もし特定の環境で利用できない場合は、コアユーティリティパッケージをインストールして利用できます。

Debian/Ubuntu

sudo apt install coreutils

coreutilsパッケージの確認とインストール

CentOS/RHEL/Fedora

sudo yum install coreutils

coreutilsパッケージの確認とインストール


関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。


同じカテゴリのコマンド