【Linuxコマンド】teeで標準出力とファイルに出力する方法

Linuxでは標準出力した内容をそのままファイルに出力できる「tee」コマンドがあります。

ここでは「tee」コマンドについて、以下の内容で解説していきます。

tee_image

この記事では「tee」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

目次

teeコマンドとは

「tee」コマンドは標準出力した結果をファイルに出力できるコマンドです。

コマンドの結果を標準出力できて、ファイルにも内容を出力できるので実はあまり知られていないけど非常に便利なコマンドです。

通常teeコマンドでファイルに出力する場合は以下のように記述します。

$ tee ファイル名

実行すると指定したファイルが作成され、入力を行うことで標準出力とファイル出力が実行されます。

teeコマンドの使い方

それでは「tee」コマンドの使い方を見ていきましょう。

入力した内容をファイルに出力する

まずは新規ファイルにキーボードから入力した内容を標準出力及びファイルに出力する方法を紹介します。

$ tee fruits.txt

tee_image01
ここではキーボードから「apple」「orange」「melon」と入力しましたが、入力した内容が標準出力されて、ファイルfruits.txtにも出力されています。

なお、teeコマンドは「Ctrl + C」で終了できます。

コマンド結果をファイルに出力する

「tee」コマンドの便利な使い方として、前述したようにコマンド結果を出力し、ファイルにも結果を出力されるので実行結果をすぐに確認したい場合はリダイレクト「>」よりも便利です。

実行結果をファイルに出力するにはパイプ「|」「コマンド | tee ファイル名」のように指定します。

以下では現在のユーザー一覧を出力し、かつ結果をテキストファイルにも書き込んでいます。

$ cat /etc/passwd | tee pass.txt

コマンド結果が出力され、pass.txtにも内容が書き込まれます。

複数のファイルに出力する

コマンドの実行結果を複数のファイルに出力したい場合は「コマンド | tee ファイル1 tee ファイル2 ファイル3」のように指定します。

以下ではlsでvarディレクトリのファイルの一覧をそれぞれのファイルに出力しています。

ls /var | tee test01.txt tee test02.txt tee test03.txt

teeコマンドのオプション

「tee」コマンドで使用するオプションは以下となります。

  • -a:ファイルに内容を追記する
  • -l:割り込みのシグナルを無視する

ファイルに内容を追記する

「tee」コマンドは存在するファイルを開いた場合、内容が上書きされてしまいますが、出力結果を追記したい場合は「-a」オプションを使用します。

以下では先ほど作成したfruits.txtに内容を追記しています。

$ tee -a fruits.txt

tee_image02

fruits.txtに内容が追記されました!

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、Linuxで標準出力と結果をファイルに出力する「tee」コマンドについて、

  • teeとは
  • teeの使い方
  • teeの便利な使い方
  • teeのオプションと使い方

などについて解説しました。

teeコマンドはメジャーなコマンドではありませんが、使い方次第では非常に便利なコマンドです。

もしteeコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次