teeコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

teeは画面出力と同時にファイルへも同時に出力するコマンドだ。

teeコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ tee ファイル名

キーボードの入力内容が画面出力の他にlogdata.datに出力する場合は、次のコマンドだ。

$ tee logdata.dat

teeコマンド

Helloとキーボードから入力した。

teeコマンドによって、画面にも入力内容が表示され、かつファイルlogdata.datにも書き込まれている。

teeコマンド

さらにByeと入力した。

終了時はCtrl+Cのショートカットキーで終了する。

teeコマンド

終了後、catコマンドにてファイルlogdata.datの内容を確認した。

キーボードの入力内容が画面出力の他にファイルlogdata.datに出力されたことわかる。

teeコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -a(オプション--append)

ファイルに追記する

オプション -i(オプション--ignore-interrupts)

割り込み信号を無視する

-aオプション(--appendオプション):ファイルに追記する

指定ファイルが現存している場合は、ファイルに追記する。

指定ファイルがない場合は、ファイルを新規作成する。

書式は次のとおりだ。

$ tee -a ファイル名

ファイルlogdata.datに追記する場合は、次のコマンドだ。

$ tee -a logdata.dat

teeコマンド

catコマンドにて、-aオプションによりファイルlogdata.datに追記されていることがわかる。

-iオプション(--ignore-interruptsオプション):割り込み信号を無視する

割り込み信号を無視するオプションだ。

例えば、Ctrl+Cのショートカットキーによる終了ができなくなり、Ctrl+C自体を画面とファイルに記録する。

終了する場合は、Ctrl+Zで一度、一時停止した後、psコマンドでプロセス番号を調べてkillコマンドで終了する。

書式は次のとおりだ。

$ tee -i ファイル名

ファイルlogdata.datに追記する場合は、次のコマンドだ。

$ tee -a logdata.dat

teeコマンド

Ctrl+Cのショートカットキーでは終了できなかったのでkillコマンドで終了している。

catコマンドにて、-aオプションによりファイルlogdata.datに追記されていることがわかる。

パイプでの利用

teeコマンドはパイプによって利用されるケースが多い。

一例として、findコマンドの実行内容を、teeコマンドを活用して画面とファイルに出力する方法を解説する。

ファイル「なんとか.dat」を探した内容を画面とファイルfind.txtの両方に出力するコマンドは、次の通りだ。

$ find *.dat | tee find.txt

teeコマンド

findコマンドの実行内容が画面とファイルに出力されている。

パイプでの利用の場合はfindコマンドの終了と同時にteeコマンドも終了するので、Ctrl+Cのショートカットキーによる手動での終了は必要ない。

tee関連コマンド

最後にteeコマンドに関連して、基本的な標準出力のコマンド、またteeコマンドを利用する上で覚えておく必要のあるコマンドも紹介しておく

echoコマンド

画面に出力する。

psコマンド

動作しているプロセスを調べる。

killコマンド

現在動作しているプロセスを終了する。

まとめ

このページでは、teeコマンドを使った画面とファイルへの同時出力の方法を解説した。

画面でのみログを記録すれば、記録は残らない。

しかし、同時にファイルに記録すればログファイルとして管理できる。

例えば、毎朝同じ動作でプロセスの実行状況を管理する場合は、-aオプションを付けたteeコマンドで、dateコマンドとpsコマンドをパイプで実行していけば1つのファイルで管理することができるだろう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. ほげほげ より:

    Ctrl-Cってショートカットじゃないよ。
    知識足りないのが、誤った変な記事書くなよ。

    1. リカレントテクノロジー より:

      ご愛読いただきありがとうございます。

      Linuxコマンド記事ですので、ここでのCtrl-Cは「コマンド入力を介さずコンソールに割り込み信号(SIGINT)を送信するキーの組み合わせ」になりますが、その役割を考えるとショートカットキーと呼んでも差し支えないように思えます。他の呼称で呼ぶとすればコンビネーションキーでしょうか。海外の技術フォーラムなどでもshortcut keyと呼称する所が多く、興味深いテーマでありながら困ってしまいますね。他に良い呼称をご存じであればご教示頂けますでしょうか。

      引き続き、ご愛読のほど、よろしくお願いいたします。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する