LinuxOSでコマンド出力した結果は通常、その画面で表示されます。
このコマンドの出力結果を画面に出力しつつ、ファイルにも保存するには「tee」コマンドを実施します。
「tee」コマンドの使い方(Linux)
以下ではLinuxOSのバージョン確認を実施した際に出力結果をそのまま画面に表示しつつ、「ver_log」というファイルに保存した例となります。
バージョンを確認しつつ、「tee」コマンドでファイルを保存します。
$ cat /etc/redhat-release | tee ver_log CentOS Linux release 8.5.2111
上記、画面での出力とともに、「ver_log」というファイルが作成されたことが確認できます。
$ ls pslog test01.txt ver_log
ファイルを確認すると出力結果がデータとして確認できます。
$ cat ver_log CentOS Linux release 8.5.2111
出力ログをファイルに追加する
既に作成されたファイルを指定して「tee」コマンドを実行すると出力された結果はファイル内のデータを上書きしてしまいます。
ファイル内のデータに追加でデータを書き込む際は「-a」オプションを使用します。
上記で作成された「ver_log」ファイルのデータを確認します。
$ cat ver_log CentOS Linux release 8.5.2111
「tee」コマンドで「-a」オプションを使用し、「date」コマンドを実行します。
$ date | tee -a ver_log 2022年 3月 25日 金曜日 20:47:13 JST
「date」コマンドの出力結果が「ver_log」ファイルに追加されたことが確認できます。
$ cat ver_log CentOS Linux release 8.5.2111 2022年 3月 25日 金曜日 20:47:13 JST
「tee」コマンドオプション
「tee」コマンドのオプションは以下の通りとなります。
$ tee --help 使用法: tee [オプション]... [ファイル]... 標準入力を各 FILE にコピーし、標準出力にも出力します。 -a, --append 指定されたファイルに追加し、上書きしない -i, --ignore-interrupts 割込みシグナルを無視 -p diagnose errors writing to non pipes --output-error[=MODE] set behavior on write error. See MODE below --help この使い方を表示して終了する --version バージョン情報を表示して終了する MODE determines behavior with write errors on the outputs: 'warn' diagnose errors writing to any output 'warn-nopipe' diagnose errors writing to any output not a pipe 'exit' exit on error writing to any output 'exit-nopipe' exit on error writing to any output not a pipe The default MODE for the -p option is 'warn-nopipe'. The default operation when --output-error is not specified, is to exit immediately on error writing to a pipe, and diagnose errors writing to non pipe outputs. GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report tee translation bugs to <https://translationproject.org/team/> Full documentation at: <https://www.gnu.org/software/coreutils/tee> or available locally via: info '(coreutils) tee invocation'
「tee」コマンドの使い方は以上となります。
エンジニアのオンライン学習
エンジニアにおすすめのオンライン教材比較 | |
ITエンジニアが自宅で学習ができるオンラインスクール比較 | |