デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE 道場トップ
第61回LV3⏱ 15〜30分

標準入力・標準出力って何だろう

🎯 きょうのミッション

コマンドの入口と出口を知ると、つなげる操作が理解できます。

👉 コマンドには「入口(標準入力)」と「出口(標準出力)」があると説明できるのが今回のゴールです。

📖 コマンドには「入口」と「出口」がある

どんなコマンドにも、入口(標準入力 stdin)出口(標準出力 stdout)があります。さらに、エラーが出たとき専用のもう1つの出口(標準エラー出力 stderr)もあります。

          入口                 出口
   stdin ─→ [ コマンド ] ─→ stdout(普通の結果)
                       └─→ stderr(エラー)

たとえば cat memo.txt なら、入口にmemo.txtの中身が流れてきて、出口(画面)に文字が出る、というしくみです。

🔌 つなげると強くなる

  • |(パイプ):あるコマンドの出口を、次のコマンドの入口につなぐ
  • >(リダイレクト):出口をファイルに向ける(上書き)
  • >>:出口をファイルに向ける(追記)

この「入口・出口」のしくみが分かると、これから出てくる ls | sortgrep ... | wc -l がぐっと読みやすくなります。

🧪 まずは出口を見るだけ

echo "hello" を打つと、その文字がそのまま標準出力(画面)に出ます。これが「コマンドの出口」を見る、いちばん簡単な実験です。

🧠 できるようになること

  • 標準入力・標準出力・標準エラー出力の3つの「出口」を絵で描ける
  • echo の役割を、結果の例から確かめられる
  • 練習用ディレクトリの中で安全に試せる

🧰 用意するもの

  • ブラウザLinux環境内の練習用ディレクトリ linux-tanken
  • キーボードで英数字と記号を入力できること

🖼 ターミナルの見本

このコマンドを実行すると、こんな結果になります(環境によって少し違うことがあります)。

📺 実行例
$ echo "hello"
hello

⌨️ 今日のコマンド

TerminalBrowser Linux
echo "hello"

🚀 やってみよう

  1. cd ~/linux-tanken で練習場所に入ります。
  2. echo "hello" と入力してEnterキーを押します。
  3. 画面に hello が出ます。これが「標準出力」だとメモに書きます。
  4. もう1つ、ls dummy のように存在しないファイルを指定して、エラー(標準エラー出力)も観察します。

💡 探検ポイント

コマンドは入口・出口を持つ箱。| はその箱どうしをつなぐホース。

🎮 チャレンジ

  • ls dummy のように存在しないファイル名を指定して、エラー出力を観察しよう。
  • echo hello | wc -l を実行して、出口と入口がつながる感覚をつかもう。

📝 ふりかえり

  • コマンドの「入口」と「出口」を絵にするとどうなる?
  • 画面に出てくる文字は標準出力?標準エラー出力?
  • パイプ | がつなぐのは入口と出口、どちらの間?

❓ うまくいかないとき

  • command not found → コマンド名のスペル確認。Tab補完で打ち間違いを防げる
  • No such file or directoryls でファイル名・パスを見直す
  • 画面が固まったCtrl + C でコマンドを止める
  • 画面が乱れたclear または Ctrl + L で整理する

👨‍👩‍👧 おうちの人・先生へ

この回はLinux初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。