リダイレクトとログの基本|初心者向けターミナル入門|UNIX Cafe

当ページのリンクには広告が含まれています。
リダイレクトとログの基本|初心者向けターミナル入門

UNIX Cafe | 第9回

出力を残す、エラーも残す。カフェの“日報ノート”を書こう。

目次

はじめに|コマンドの「つぶやき」を残そう

ミナちゃん

ユニ先生、スクリプトを動かすと画面にいっぱい文字が出てきますけど、
終わったあと見返せないんですよね💦

ユニ先生

ふふっ、それはカフェで“口頭注文だけ”してるようなものだね。
今日の出来事をノートに残すなら、“リダイレクト”を使うんだよ。

出力をファイルに残す(>

ミナちゃん

わあ、画面じゃなくてファイルに書かれてる!
まるで、今日の出来事を日報ノートに書くみたいですね。

bash
$ echo "Welcome to UNIX Cafe" > log.txt

> は、標準出力(画面表示)をファイルに書き出すコマンド。
同名のファイルがあれば上書きされる。

追記したいとき(>>

ユニ先生

これで、“カフェ日記”を少しずつ書き足せるようになったね。

bash
$ date >> log.txt
 echo "今日もいい一日でした" >> log.txt

>> はファイルに追記する。
既存の内容を消さずに、あとからメモを追加できる。

エラーメッセージを記録する(2>

ミナちゃん

あっ、エラーもちゃんと書いてくれるんですね!
まるで「今日はコーヒー豆が切れてました☕💦」って日誌に書くみたい!

bash
$ ls /no_such_file 2> error.txt

2> は、エラー出力(標準エラー)を別ファイルに保存する。
普通の出力とは別に、“失敗メモ”として残せる。

出力とエラーをまとめて書き出す(&>

ユニ先生

お店の“全記録カメラ”みたいなものだね。
お客さんの声も、厨房の音も、ぜんぶ保存できる。

bash
$ ./myscript.sh &> all_log.txt

&> は、標準出力と標準エラーをまとめてファイルに書き出す。
ぜんぶ記録しておきたいときに便利。

画面にもファイルにも出したい(tee

ミナちゃん

あ、画面にも出てるし、ファイルにも書かれてる!
なんか“喋りながらメモしてる”感じですね。

ユニ先生

その通り。tee は“聞き上手なバリスタ”なんだよ。

bash
$ echo "注文を受け付けました!" | tee order.log

⚫︎ tee は、出力を画面にも表示しながらファイルに保存するコマンド。
⚫︎ “記録しつつ会話する”感じで、シェルスクリプトにもよく使われる。

Try it!|今日のログを書いてみよう

ミナちゃん

ちゃんと“お知らせ”も“失敗メモ”も入ってます!
まるで、カフェのレジノートみたい。

ユニ先生

そう、それがリダイレクトの力なんだ。
データを“消さずに残す”って、シェルのやさしさなんだよ。

出力をファイルに残してみよう

bash
$ echo "Good morning, UNIX Cafe\!" > cafe.log

追記してみよう

bash
$ echo "今日のおすすめ:ブルーマウンテン☕" >> cafe.log

わざとエラーを起こして記録してみよう

bash
$ ls /no_such_file 2>> cafe.log

結果を確認!

bash
$ cat cafe.log

コーヒーブレイク:ユニ先生のひとこと

ログはね、ただの記録じゃないんだ。
失敗も成功も書き留めることで、次の一杯がもっとおいしくなるんだよ。

まとめ

ミナちゃん

リダイレクトって、出力を残す“日記みたいな機能”なんですね。
これで今日の作業もちゃんと記録できます!

ユニ先生

そうだね。
ログは、成功も失敗も書き留める“カフェのノート”なんだ。
あとで読み返すと、きっと次の一杯がもっとおいしくなるよ。

  • > 出力をファイルに上書き保存
  • >> 出力をファイルに追記
  • 2> 出力をファイルに追記
  • &> 出力とエラーをまとめて保存
  • tee 画面とファイルの両方に出力
ミナちゃん

うんっ、私も“今日のコーヒーログ”つけてみます!

ユニ先生

それでこそ、立派なUNIX Cafeのスタッフだね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次