Menu
Coddy logo textTech

標準入力

CoddyのTerminalジャーニー「基礎」セクションの一部 — レッスン 40/82。

2 番目のデータ ストリームは 標準入力 で、stdin と略されます。標準出力がコマンドが結果を送信する場所であるのに対し、標準入力はコマンドが データを受け取る 場所です。

多くのコマンドは、ファイル名を引数として指定することでファイルから読み込むことができます:

cat notes.txt
sort names.txt

しかし、< 演算子を使用して、ファイルの内容をコマンドに直接リダイレクトすることもできます:

sort < names.txt

これは names.txt の内容を標準入力経由で sort コマンドに供給します。結果は sort names.txt と同じですが、メカニズムは異なります — シェルがファイルの読み取りを処理する代わりに、コマンド自体が処理します。

入力と出力のリダイレクトを1つのコマンドで組み合わせることができます:

sort < names.txt > sorted_names.txt

これはnames.txtから読み込み、内容をソートし、結果をsorted_names.txtに書き込みます。入力リダイレクトは、ファイル名引数ではなく標準入力からデータを期待するコマンドで作業する際に特に有用になります。

challenge icon

チャレンジ

簡単

< 演算子を使って入力リダイレクトを行い、numbers.txt の内容を数値的にソートします。

以下のことを行う単一のコマンドを実行します:

  • < を使用して numbers.txtsort コマンドにリダイレクトします
  • 数値的にソートするために -n フラグを使用します

ヒント: 形式は sort -n < filename です。シェルはファイルを読んで、その内容を標準入力経由でコマンドに供給します。

チートシート

標準入力(stdin)は、コマンドがデータを受け取る場所です。

ファイルの内容をコマンドにリダイレクトするには、< 演算子を使用できます:

sort < names.txt

これにより、ファイルの内容が標準入力経由で供給されます。シェルがコマンド自身ではなくファイルの読み取りを処理します。

入力と出力のリダイレクトを組み合わせることができます:

sort < names.txt > sorted_names.txt

これは names.txt から読み込み、内容をソートし、結果を sorted_names.txt に書き込みます。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン