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サンドボックスを実装するいくつかの方法についての簡単な説明

推薦する

Google Chromeの自動入力問題に対する完璧な解決策

Google Chrome では、ログインに成功すると、パスワードを記憶するかどうかを尋ねるメッセー...

MySQL の WriteSet 並列レプリケーションの簡単な分析

【歴史的背景】私は 3 年間 MySQL-DBA として働いてきましたが、MySQL が「基本的に利...

スケジュールされた時間に古いジャンクファイルを自動的に削除する Linux 用の Autotrash ツール

Autotrash は、古い削除済みファイルを消去するプロセスを自動化するコマンド ライン プログラ...

イラスト風ウェブサイトホームページデザイン ウェブサイトデザインの新トレンド

視覚効果が非常に美しく、訪問者に強い印象を残すことがわかります。さらに、重要なポイントが強調され、訴...

ログインと登録機能を実現するjs

この記事の例では、ログインと登録機能を実装するためのjsの具体的なコードを参考までに共有しています。...

MySQLがデータの削除を推奨しない理由

目次序文InnoDB ストレージ アーキテクチャInnodb テーブルスペースインドストレージディス...

Linux のタイムドログ削除を実装する簡単な方法

導入Linux は、ファイル、ログ、電子メール、バックアップなどを自動的に生成できるシステムです。ハ...

Nginx + consul + upsync を使用して動的負荷分散を実現する方法の詳細な説明

目次前提条件DNSドメイン名解決プロセス外部ネットワークマッピングnginxコア知識nginxとはア...

HTML&CSS&JS 互換性ツリー (IE、Firefox、Chrome)

Web デザインにおけるツリーとは何ですか?簡単に言うと、リンクをクリックするとサブディレクトリが展...

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます。以下の操作はすべて...

Reactでコンポーネントを作成する方法

目次序文コンポーネントの紹介クラスコンポーネントの作成状態についてレンダリングについて関数コンポーネ...

CSS でハニカム/六角形アトラスを実装するためのサンプルコード

理由は分かりませんが、UIではハニカム効果(手を広げたような効果)のデザインが好まれます。 1. 六...

Dockerを使用してコンテナリソースを制限する方法

覗き見の問題サーバーでは、IIS サービスが複数のサイトを展開していると仮定すると、サイトの 1 つ...

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

完全なショッピングカートを実装するためのミニプログラム

ミニプログラムは、参考までに完全なショッピングカート[すべて選択/選択解除して金額を計算/加算と減算...