Linuxでは標準出力した内容をそのままファイルに出力できる「tee」コマンドがあります。
ここでは「tee」コマンドについて、以下の内容で解説していきます。
この記事では「tee」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!
teeコマンドとは
「tee」コマンドは標準出力した結果をファイルに出力できるコマンドです。
コマンドの結果を標準出力できて、ファイルにも内容を出力できるので実はあまり知られていないけど非常に便利なコマンドです。
通常teeコマンドでファイルに出力する場合は以下のように記述します。
$ tee ファイル名
実行すると指定したファイルが作成され、入力を行うことで標準出力とファイル出力が実行されます。
teeコマンドの使い方
それでは「tee」コマンドの使い方を見ていきましょう。
入力した内容をファイルに出力する
まずは新規ファイルにキーボードから入力した内容を標準出力及びファイルに出力する方法を紹介します。
$ tee fruits.txt
ここではキーボードから「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
fruits.txtに内容が追記されました!
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!
まとめ
ここでは、Linuxで標準出力と結果をファイルに出力する「tee」コマンドについて、
- teeとは
- teeの使い方
- teeの便利な使い方
- teeのオプションと使い方
などについて解説しました。
teeコマンドはメジャーなコマンドではありませんが、使い方次第では非常に便利なコマンドです。
もしteeコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。