Linux teeコマンドの使い方の詳しい説明

Linux teeコマンドの使い方の詳しい説明

teeコマンドは主にstandout(標準出力ストリーム、通常はコマンド実行ウィンドウ)に出力し、同時にファイルに内容を出力するために使用されます。以下はteeのマニュアルページ情報です。

標準入力から読み取り、標準出力とファイルに書き込む

次に、いくつかのアプリケーション シナリオを通じてteeコマンドについて理解を深めます。

シナリオ 1: ティーコマンドの使い方

tee コマンドの形式は次のとおりです。

tee [オプション]... [ファイル]...

man ファイルの定義から、 tee は標準入力ストリームからデータを読み取ることがわかります。そのため、ここでは簡単なコマンドを使用して、 teeの入力ストリームとして出力ストリームを生成します。ここでは、 pingコマンドを使用します。

[mysql@localhost ~]$ ping baidu.com
PING baidu.com (220.181.57.216) 56(84) バイトのデータ。
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=1 ttl=128 time=30.1 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=2 ttl=128 time=33.1 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=3 ttl=128 time=31.9 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=4 ttl=128 time=30.9 ms
...

ここで、コンソールに出力し、出力されたコンテンツを別の目的のために別のファイルに保存します。その場合、 teeコマンドが役立ちます。

[mysql@localhost ~]$ ping baidu.com | tee ping-baidu.log #コンソールに出力しながら、内容をping-baidu.logファイルに保存します。 PING baidu.com (220.181.57.216) 56(84) バイトのデータ。
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=1 ttl=128 time=30.6 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=2 ttl=128 time=30.5 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=3 ttl=128 time=30.2 ms
^C[mysql@localhost ~]$ cat ping-baidu.log #ファイルの内容が出力と一致しているかどうかを確認します PING baidu.com (220.181.57.216) 56(84) バイトのデータ。
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=1 ttl=128 time=30.6 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=2 ttl=128 time=30.5 ms
220.181.57.216 からの 64 バイト (220.181.57.216): icmp_seq=3 ttl=128 time=30.2 ms

シナリオ 2: ファイルにコンテンツを追加するにはどうすればよいでしょうか?

上記の操作では、ping-baidu.log に出力されます。このファイルが存在する場合は、まずファイル内のすべての内容をクリアしてから、内容を入力します。この方法は、一部のシナリオには適していません。各出力がファイルに追加されることを望みます。この場合、 -aパラメータを使用して指定できます。

ping baidu.com | tee -a ping-baidu.log 

ここに画像の説明を挿入

シナリオ 3: 複数のファイルに同時に出力するにはどうすればよいですか?

teeコマンドの後に入力するファイル名を追加するだけです。具体的な形式は次のとおりです。

ping baidu.com | tee ping.log ping-baidu.log 

ここに画像の説明を挿入

シナリオ 4: tee コマンドの出力を別のコマンドの入力ストリームとしてリダイレクトする方法

パイプライン方式に従うには、 teeコマンドの後に|と次のコマンドを追加するだけです。

ここに画像の説明を挿入

シナリオ 5: tee コマンドを使用してファイルへの書き込み権限レベルを上げる

実際に Linux サーバーを操作しているときに、特定のファイルを設定すると、設定が完了して保存したときに、現在のユーザーにはファイルを保存するためのファイルがないことがわかります。この時点で、非常にイライラします。何か解決策はありますか?このとき、 teeコマンドが私たちの悩みを解決してくれます。

具体的な操作は、ファイルを保存するときに:w !sudo tee %入力することです。このとき、 vi sudo 操作のパスワードを入力するように通知します。正しく入力すると、ファイルが保存されます。この時点で、安全にファイルを終了できます:q!

シナリオ 6: 割り込みイベントを無視する方法

-iパラメータは、割り込みイベント(SIGINT)を無視するteeを許可する。

baidu.com に ping する | tee -i ping.log

参照:

https://www.howtoforge.com/linux-tee-command/

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する
  • Linuxは情報を出力し、ファイルに記録します(teeコマンド)

<<:  win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

>>:  フロントエンドJSサンドボックスを実装するいくつかの方法についての簡単な説明

推薦する

Pycharmとsshリモートアクセスサーバーdockerの詳細なチュートリアル

背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...

MySQL エラー: ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションの解決策を再起動してください

問題を見つける最近、以前のデータを入力していたときに、プログラムが突然次のエラーを報告しました。 [...

ハイパーリンクに関するいくつかの質問

<br />ポテトチップスパーティーのこのエピソードに参加して、何人かの友達に会えてとて...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

ウェブサイトのパフォーマンスを向上させるために画像を最適化する方法

目次概要画像圧縮とはJPEG/JPG JPGの利点JPGの使用シナリオJPGの欠点MozJPEG を...

Nodejs は JSON 文字列を JSON オブジェクトに変換するエラー解決法

JSON 文字列を JSON オブジェクトに変換するにはどうすればいいですか? JSON.parse...

ウェブサイトのユーザーエクスペリエンスデザイン(UE)

Google Reader で、JunChen が書いた「フロー理論と設計」というタイトルの投稿を見...

Vueのprops設定の詳細な説明

<テンプレート> <div class="demo">...

CSS が複数のクラスに一致する方法のサンプルコード

CSSは複数のクラスにマッチする次の HTML タグ li、クラスはオープン スタイルです。私の要件...

Vue3はフロントエンドのログを出力するためにaxiosインターセプターを使用する

目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...

opensslを使用して無料の証明書を生成する方法

1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...

mysql8.0.11 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと...

Vmwareでディスクを追加する方法:ディスクを拡張する

この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

JS はシンプルな todoList (メモ帳) 効果を実装します

メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...