コマンドの出力を手動で追跡し、同時に出力がファイルに書き込まれていることを確認して、後で参照できるようにしたい場合があります。これを実行できるLinuxツールを探している場合は、コマンド teeが存在することを知って喜ぶでしょう。 これはこの目的のために構築されています。
このチュートリアルでは、わかりやすい例を使用して、teeコマンドの基本について説明します。ただし、その前に、この記事で使用されているすべての例がUbuntu16.04LTSでテストされていることを言及する価値があります。
Linuxteeコマンド
teeコマンドは、基本的に標準入力から読み取り、標準出力とファイルに書き込みます。コマンドの構文は次のとおりです。
tee [OPTION] ... [FILE] ...
そして、manページで説明されているのは次のとおりです。
標準入力を各ファイルにコピーし、標準出力にもコピーします。
次のQ&Aスタイルの例は、コマンドがどのように機能するかについてのより良いアイデアを提供するはずです。
Q1。 Linuxでteeコマンドを使用するにはどうすればよいですか?
何らかの理由でpingコマンドを使用しているとします。
ping google.com
そして、必要なのは、出力も並行してファイルに書き込まれる必要があるということです。次に、ここでteeコマンドを使用できます。
ping google.com | tee output.txt
次のスクリーンショットは、出力がstdoutに書き込まれるとともに「output.txt」ファイルに書き込まれたことを示しています。
これで、teeの基本的な使用法がクリアされます。
Q2。 teeがファイルに情報を追加することを確認するにはどうすればよいですか?
デフォルトでは、teeコマンドを再度使用すると、ファイル内の情報が上書きされます。ただし、必要に応じて、-aコマンドラインオプションを使用してこの動作を変更できます。
[コマンド]| tee-a[ファイル]
したがって、基本的に、-aオプションは、teeにファイルに情報を追加するように強制します。
Q3。 teeに複数のファイルに書き込むようにするにはどうすればよいですか?
それはとても簡単です。あなたは彼らの名前を言う必要があります。
[コマンド]| tee [file1] [file2] [file3]
例:
ping google.com | tee output1.txt output2.txt output3.txt
Q4。あるコマンドの出力を別のコマンドにリダイレクトする方法は?
teeを使用して、出力をファイルに同時に書き込むだけでなく、出力を他のコマンドへの入力として渡すこともできます。たとえば、次のコマンドは、ファイル名を「output.txt」に保存するだけでなく、wcを介してoutput.txtファイルのエントリ数を通知します。
lsファイル*| tee output.txt | wc -l </ pre>
Q5。 teeを使用して昇格された特権を持つファイルに書き込む方法は?
Vimエディターでファイルを開き、多くの変更を加えた後、それらの変更を保存しようとすると、そのファイルがルート所有のファイルであることに気付くエラーが発生したとします。つまり、保存するにはsudo権限が必要です。これらの変更。
このようなシナリオでは、teeを使用して外出先で特権を上げることができます。
:w!sudo tee%
前述のコマンドは、rootパスワードの入力を求め、変更を保存できるようにします。
Q6。ティーに割り込みを無視させる方法は?
-iコマンドラインオプションを使用すると、teeは割り込み信号(
SIGINT
)を無視できます。 )、これは通常、crl+cキーの組み合わせを押したときに発行されます。[コマンド]| tee-i[ファイル]これは、ctrl + cを使用してコマンドを強制終了したいが、teeを正常に終了させたい場合に便利です。
結論 teeが非常に便利なコマンドであることに同意するでしょう。ここでは、基本的な使用法と、コマンドラインオプションの大部分について説明しました。このツールには急な学習曲線がないので、これらすべての例を練習するだけで、うまくいくはずです。詳細については、ツールのマニュアルページにアクセスしてください。
Linux