teeコマンドは、標準入力から読み取り、標準出力とファイルの両方に書き込みます。
その結果、コマンドの出力を確認すると同時に、ファイルに保存することができます。
つまり、1つの入力が2つの出力に送られます。
Linuxのリダイレクトの概念に精通している場合、これはすべて理にかなっています。
このコマンドは、電気、配管、およびその他の業界で使用されるT型コネクタにちなんで名付けられています。 「T」の文字に似ているため、ティーと呼ばれます。
teeコマンドの目的を理解したところで、Linuxでteeコマンドを使用する方法を見てみましょう。
teeコマンドの構文は単純です:
tee [OPTION] [FILE]
teeは標準入力から読み取るため、ほとんどの場合、別のコマンドの活用で使用することに注意してください。
いくつか例を示しましょう。
1。コマンド出力を表示してファイルに保存する
ファイルの行数を数えたいという基本的なケースを考えてみましょう。ファイルに何行あるかを確認し、その数を別のファイルに保存する必要があります。
[email protected]:~$ wc -l agatha.txt | tee count.txt
20 agatha.txt
ファイル数は存在しないため、countという名前の新しいファイルが作成されます。ファイル数の内容が表示される場合は、ディスプレイに表示されたものと同じ出力が表示されます。
[email protected]:~$ cat count.txt
20 agatha.txt
注:デフォルトでは、teeコマンドはファイルの内容を上書きします。必要に応じて、追加オプション-aを使用できます。
wc -l agatha.txt | tee -a count.txt
2。コマンド出力を表示し、複数のファイルに保存します
コマンド出力を複数のファイルに保存したい場合は、teeコマンドでも同様に行うことができます。ファイルを指定するだけです。
[email protected]:$ wc -l agatha.txt | tee count1.txt count2.txt
20 agatha.txt
上記の2つのファイルに同じ出力が保存されていることを確認できます。
[email protected]:~$ cat count1.txt count2.txt
20 agatha.txt
20 agatha.txt
Linuxでcatコマンドと一緒に複数のファイルを表示できることをご存知だと思います。
3。コマンド出力をファイルに保存しながら、別のコマンドに解析します
コマンド出力を常に表示する必要はありません。標準出力なので、別のコマンドにパイプできます。
たとえば、以下のコマンドを使用してください。
[email protected]:~$ ls -l | tee count.txt | wc -l
7
ここで何が起こるかというと、「ls-l」コマンドの出力がteeコマンドにパイプされます。これで、teeコマンドは「ls-l」の出力をcount.txtファイルに保存しますが、この出力を表示する代わりに、行数をカウントする「wc-l」コマンドにパイプされます。
この場合に表示される出力は、「wc-l」コマンドの出力です。 「ls-l」コマンドの出力は、ファイルcount.txtに保存されます。
[email protected]:~$ cat count.txt
total 20
-r--r--r-- 1 abhishek abhishek 456 Dec 11 21:29 agatha.txt
-rw-r--r-- 1 abhishek abhishek 0 Jan 10 16:03 count.txt
-rw-r--r-- 1 abhishek abhishek 356 Dec 17 11:39 file1.txt
-rw-r--r-- 1 abhishek abhishek 356 Dec 17 09:59 file2.txt
-rw-r--r-- 1 abhishek abhishek 356 Dec 11 21:35 sherlock.txt
drwxr-xr-x 3 abhishek abhishek 4096 Jan 4 20:10 target
teeコマンドの使用は、実際にはあなたの想像力と状況次第です。ログファイルのような長い出力を分析する必要がある場合に便利です。リアルタイムで表示し、後で参照できるようにファイルに保存すると、少し役立ち、時間を節約できます。
ここにリストしたteeコマンドの例を気に入っていただけたでしょうか。このコマンドを使用するための本当に素晴らしい方法を考えている場合は、コメントセクションで他の人と共有してください。