Linuxでのteeコマンド–分割シェル出力[例]
ティー Linuxシェル/コマンドラインのコマンドは、アプリケーションの出力を分割し、ファイルとの両方に出力を送信します。 STDOUT (コンソールまたは別のアプリケーション)。使用方法は次のとおりです。
ティー コマンドは、配管で使用されるTスプリッター、つまり単一の水源から2つの方向に水を向け直すパイプにちなんで名付けられました。
teeコマンド構文
ティー は、単純な目的と単純な構文を持つコマンドです:
tee OPTIONS FILE
注:
- オプション 以下の表のオプションのリストです
- ファイル 出力を保存するファイルへのパスです
- 入力はパイプで送信するか、ティーにリダイレクトする必要があります。それ以外の場合、入力は機能しません
- これは、標準の入力/出力をリダイレクトすることによって行われます。例については、以下を参照してください
- ティー 提供されたデータを両方のファイルに出力します 指定およびSTDOUT (標準出力)
- デフォルトでは、これはコンソールに出力されますが、他のアプリケーションにリダイレクトすることもできます
オプション
ティーで最も一般的に使用されるオプションは次のとおりです。 コマンド:
-a、–append | 指定されたファイルに追加します。上書きしないでください |
-i、–ignore-interrupts | 割り込み信号を無視する |
エラーの診断方法など、その他のオプションについては、次のコマンドを実行してユーザーマニュアルを表示できます。
man tee
ティー コマンドの例
teeの簡単な例を次に示します。 使用できます。
これらの例はすべて、エコーを使用しています。 コマンド。指定されたテキストを出力するだけです。
コマンドからの出力を表示して新しいファイルに保存する
echoの出力 コマンドはteeにパイプされ、ファイルに保存され、コンソールに出力されます:
echo "hello!" | tee hello.txt
ファイルの場合hello.txt 存在する場合は上書きされます。
コマンドからの出力を表示して既存のファイルに保存する
この例は上記と同じですが、既存のファイルを上書きするのではなく、ファイルの最後に追加します。
echo "hello again!" | tee -a hello.txt
出力を複数のファイルに保存または追加する
複数のファイルをスペースで区切って指定できます:
echo "hello several files!" | tee hello1.txt hello2.txt hello3.txt
リダイレクト/パイプティー 出力
teeの標準出力 パイプおよびリダイレクトできます。次の例では、echoの出力をhello.txtに保存します。 次に、出力が grepに渡されます。 コンソールに出力するのではなく、コマンド:
echo "hello!" | tee hello.txt | grep hello
たとえば、grepコマンド(テキスト入力の検索に使用)は、teeからの出力で「hello」という単語を検索するだけです。
割り込みを無視する
割り込みを無視すると(たとえば、CTRL + Cを押してコマンドを終了する)、 teeからの出力がよりクリーンになる可能性があります。 :
echo "hello!" | tee -i hello.txt
teeの使用 sudo
sudo commandを使用すると、rootとしてログインせずにrootユーザーとしてコマンドを実行でき、一般的に使用されます。
次のスニペット– sudo しません sudo のように、コマンドの出力をリダイレクトできます。 コマンド自体は、リダイレクト記号(> )の前に表示されるリダイレクトを実行しません ):
sudo echo "hello!" > /root/hello.txt
…/root が原因で、これは権限エラーで失敗します ディレクトリにはroot権限が必要ですが、 sudo コマンドは、これらの権限を echoにのみ適用します コマンド–後で来るリダイレクトではありません。
これを回避する秘訣は、ティーを使用することです。 コマンド:
echo "hello!" | sudo tee /root/hello.txt
echo の出力があるため、これは機能します コマンドがteeに渡されます 、は sudoを介して管理者権限で実行されている –およびティー 出力を保存します。
-
Linuxシェルプログラミングの数学的側面–パートIV
この投稿では、S criptsについて説明します。 数学から および番号 視点。もっと複雑なスクリプトを投稿しましたが(シンプルな電卓 )前回の投稿でしたが、ユーザーの側では理解するのが難しかったので、小さなパケットで学習することのもう1つの便利な側面を人々に学んでもらうことを考えました。 この記事の前に、シェルスクリプトシリーズの3つの記事 公開されており、次のとおりです。 Linuxシェルと基本的なシェルスクリプトを理解する–パートI シェルプログラミングを学ぶための5つのシェルスクリプト–パートII Linux BASHスクリプティングの世界を航海する–パートIII
-
ファイルとディレクトリを一覧表示するLinuxのlsコマンド
ls Linuxのコマンドは、おそらく最初に使用する必要のあるコマンドの1つです。この記事では、コマンドと一般的に使用されるパラメータについて説明します。 私が好むオプションのセットは次のとおりです。 ls -Zaltrh 各オプションを個別に掘り下げて、オプションのグロブ全体が役立つ理由を説明しましょう。 LinuxLSコマンド構文 #ls [OPTION] [FILE] OPTIONS: [-a], do not ignore entries starting with . or .. [-h], with -l, print sizes in human readable form