1. 標準出力 (stdout)

Linux の学習を続ける中で、コマンドがどのように出力を生成するかを見てきました。ここで、I/O(入出力)ストリーム、特に標準出力またはstdoutという重要なトピックに入ります。次のコマンドを実行して、この概念を探ってみましょう。

echo Hello World > peanuts.txt

これを実行すると、カレントディレクトリにpeanuts.txtという名前の新しいファイルが見つかります。その内容を見ると、「Hello World」というテキストが表示されます。何が起こったのかを分解してみましょう。

標準出力 (stdout) の理解

まず、特殊文字なしでコマンドを考えてみましょう。

echo Hello World

デフォルトでは、多くのコマンドは結果をstdout、つまりターミナル画面に送信します。これが、echo Hello Worldがシェルに直接テキストを表示する理由です。プロセスは、入力を受け取る(標準入力または stdin)ために I/O ストリームを使用し、出力を送信します。I/O リダイレクションにより、このデフォルトの動作を変更し、データに対するより大きな制御が可能になります。

> を使用した stdout のリダイレクト

>文字はリダイレクト演算子です。これはstdoutに向かうデータを傍受し、新しい宛先に送信します。

>

私たちの例では、echo Hello Worldの出力を画面ではなくファイルに送信します。ファイルが存在しない場合は作成されます。注意してください。ファイルが既に存在する場合、この演算子は内容を完全に上書きします。

>> を使用した stdout の追記

ファイルの内容を消去せずにファイルに追加したい場合はどうでしょうか?そのためには、>>演算子を使用します。

echo Hello World >> peanuts.txt

この演算子は、出力を指定されたファイルの末尾に追加します。ファイルがまだ存在しない場合は、>演算子と同様に作成されます。stdoutリダイレクトを習得することは、Linux の旅における基本的な一歩です。

ログインして学習進捗を保存

サインイン

演習

I/O リダイレクトの理解を深めるために、この実践的なラボを試してください。

  1. Linux における入出力のリダイレクト - >, >>, 2>などの演算子やteeコマンドを使用して、標準出力 (stdout)、標準エラー (stderr)、標準入力 (stdin) を操作することにより、コマンドからのデータフローを制御する練習をします。

このラボは、これらの概念を実世界のシナリオに適用し、I/O リダイレクトに対する自信を構築するのに役立ちます。

クイズ

ファイルに出力を追記するには、どのリダイレクタを使用しますか?