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

推薦する

Node.js パッケージ マネージャー npm の具体的な使用方法

目次目的npm init および package.json ファイルモジュールのインストールと管理モ...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...

MySQL 8.0.21 無料インストール版 設定方法 グラフィックチュートリアル

MySQLをインストールする6つの手順(インストールパッケージのみがインストール場所を選択できます)...

mysql と oracle のデフォルトのトランザクション分離レベルの説明

1. トランザクション特性(ACID) (1)原子性トランザクションに関係するプログラムによって実行...

HTML での一般的なリダイレクト接続の例コード

コードをコピーコードは次のとおりです。 window.location.href="zcb...

Linux学習におけるmkdirコマンドの詳しい説明

目次序文1. ファイルの概念に関する基礎知識2. mkdir コマンド序文最近、Linux にますま...

Bootstrap Webページレイアウトグリッドの実装

目次1. Bootstrapグリッドシステムの仕組み1.1 12グリッドシステム1.2 Bootst...

CSS で写真のスタッキング効果を実装するサンプルコード

成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...

crontab の実行結果を電子メールでユーザーに通知する方法

症状Centos7 ホストに crontab タスクを設定しましたが、時間が来るとメールを実行して「...

ウェブ画像のホットリンクと座標値を設定するサンプルコード

時には、画像上に複数の領域を設定する必要があります。マウスで画像のさまざまな領域をクリックしてさまざ...

MySQL Order By 複数フィールドのソートルールのコード例

事前に言っておく気まぐれですが、MySQL の order by sorting にどのようなルール...

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...

Vue+Spring Bootで検証コード機能を実現

この記事では、検証コード機能を実装するためのvue+spring bootの具体的なコードを例として...

Windows での Apache+Tomcat7 負荷分散構成方法の詳細な説明

準備Windows Server 2008 R2 Enterprise (2.40GH、8GB、64...

Linux の高性能ネットワーク IO と Reactor モデルの分析

目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...