【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コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー