本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「tee」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、標準入力から受け取った内容を、標準出力とファイルの両方に出力する「tee」コマンドです。
「tee」は標準入力から受け取った内容を、標準出力とファイルに書き出すコマンドです。ファイルへの保存と標準出力への出力を同時に行ったり、複数のファイルに出力したりすることができます。
コマンド1 | tee ファイル | コマンド2
コマンド | tee ファイル1 ファイル2 ファイル3……
teeコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-a | --append | 指定したファイルが既に存在する場合、上書きせずに追加する(リダイレクトの「>>」に相当) |
-i | --ignore-interrupts | 割り込みシグナルを無視する |
「コマンド > ファイル」と「コマンド | コマンド」を同時に実行したい場合は、「コマンド | tee ファイル名 | コマンド」のように指定します。
例えば、以下のコマンド実行例では、「find」コマンドで「/bin」と「/usr/bin」にあるファイルを出力し、その結果を「cmdlist」というファイルに保存しつつ、「less」コマンドで閲覧しています。
find /bin /usr/bin -type f | tee cmdlist | less
(findコマンドの結果をファイル「cmdlist」に保存し、さらにlessコマンドで閲覧する)(画面1)
なお、「find ディレクトリ」で、指定したディレクトリのファイルをパス名付きで一覧表示することができます。「-type f」はファイルのみという指定です。
「コマンド | tee ファイル1 ファイル2 ファイル3……」と指定すると、受け取ったコマンドの実行結果を複数のファイルに保存することができます。
teeコマンドでは、標準出力にも結果が出力されます。ファイルへの保存だけで画面には出力したくない場合は、出力の1つをteeコマンドからのリダイレクトで保存します。
例えば、「a.lst」「b.lst」「c.lst」には保存し、画面には出力しないのであれば「コマンド | tee a.lst b.lst > c.lst」のように指定します。
ls | a.lst b.lst c.lst
(lsコマンドの結果を「a.lst」「b.lst」「c.lst」に保存し、画面(標準出力)にも出力する)(画面2)
ls | a.lst b.lst > c.lst
(lsコマンドの結果を「a.lst」「b.lst」「 c.lst」に保存し、画面には表示しない)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.