Menu
CoddyTech

標準入力

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の内容を数値として並べ替えます。

次の処理を行うコマンドを1つ実行します。

  • <を使ってnumbers.txtをsortコマンドにリダイレクトする
  • 数値として並べ替えるために-nフラグを使う

ヒント: 書式はsort -n < filenameです。シェルがファイルを開き、コマンドの標準入力に接続します。

自分で試してみよう

ターミナル
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Terminalプレイグラウンド