HOWTO · Bash

Bash tee コマンド

このチュートリアルでは、Bash の tee コマンドについて説明します。

このページの内容

Bash の特別なコマンドは tee です。これは、標準入力から読み取り、1つまたは複数のファイルに標準形式で出力を書き込むことができます。また、配管を介して他のコマンドで使用されます。

この記事では、tee コマンドについて詳しく説明します。また、わかりやすくするために、いくつかの例と説明を見ていきます。

Bash の tee コマンド

tee コマンドの一般的な構文は、tee YOUR_OPTIONS YOUR_FILE_NAME です。このコマンドで使用できるオプションは次のとおりです。

  1. -a---append とも呼ばれ、ファイルを上書きせず、代わりに提供されたファイルに追加するようにコマンドに指示します。
  2. -i-割り込み信号を無視するために使用された --ignore 割り込みとも呼ばれます。

以下に、tee コマンドの基本的な例を示します。

df -H | tee disk_usage.txt

上で共有した例では、tee disk_usage.txt ファイルを実行するだけです。サンプルコードを実行すると、以下の出力が得られます。

Filesystem      Size  Used Avail Use% Mounted on
rootfs          198G  120G   79G  61% /
none            198G  120G   79G  61% /dev
none            198G  120G   79G  61% /run
none            198G  120G   79G  61% /run/lock
none            198G  120G   79G  61% /run/shm
none            198G  120G   79G  61% /run/user
tmpfs           198G  120G   79G  61% /sys/fs/cgroup
C:\             198G  120G   79G  61% /mnt/c
E:\             178G   26G  153G  15% /mnt/e
F:\             278G  152G  127G  55% /mnt/f
G:\             278G   17G  262G   6% /mnt/g

Bash で tee コマンドを使用して複数のファイルを書き込む

tee コマンドで複数のファイルを書き込むこともできます。これを行うには、以下の例に従います。

command | tee file1.txt file2.txt file3.txt

上で共有した例では、file1.txtfile2.txt、および file3.txt という名前の 3つのファイルを記述します。

Bash の tee コマンドでファイルを追加する

コマンド tee を使用すると、ファイルを追加することもできます。この目的のために、以下のコマンドに従うことができます。

command | tee -a file.txt

すでに説明したように、-a フラグは追加操作を示します。

Bash の tee コマンドで割り込みを無視する

以下で共有するコードに従って、コマンド実行での不要な割り込みを無視できます。

command | tee -I file.txt

実行中にCtrl + Cでコマンドを停止する場合に非常に便利です。

Bash の tee コマンドで出力を非表示にする

tee が標準モードで出力を書き込みたくないですか? /dev/null にリダイレクトし、以下のコマンドに従ってください。

command | tee file.txt >/dev/null

この記事で使用されているすべてのコードは Bash で書かれています。Linux シェル環境でのみ実行可能です。