next up previous
: フィルター : UNIX のテキスト・ファイル処理 : UNIX のテキスト・ファイル処理

標準入出力のリダイレクション、パイプ

UNIX において標準入出力のリダイレクション、パイプは重要な機能である。

$\bullet$
UNIX システムでは、 各プロセス1は、 標準入力 (standard input, stdin と略される)、 標準出力 (standard output, stdout と略される) と呼ばれるデー タの出入口を持つ。
$\bullet$
例えば C 言語の scanf(), getchar() 等は標準入力から入力し、 printf(), putchar() は標準出力に出力する。
$\bullet$
通常は次のように結びつけられている:
$\bullet$ 標準入力はキーボードからの入力に
$\bullet$ 標準出力は画面への出力に

この結合は簡単に変更できる (標準入出力のリダイレクション と呼ぶ)。
$\bullet$
コマンド > ファイル名 とすると、 コマンドの標準出力を (画面の代わりに) 指定したファイルに書き出す。
$\bullet$
コマンド < ファイル名 とすると、 (キーボードの代わりに) 指定したファイルからコマンドの標準入力に読み込む。
$\bullet$
コマンド1 | コマンド2 とすると、 コマンド1 の標準出力をコマンド2 の標準入力に渡すことが出来る。つまり

  prog1 > datafile
  prog2 < datafile
のようにファイルを介して prog1 の出力を prog2 に渡す代わりに

  prog1 | prog2
で済ますことが出来る。この機能をパイプと呼ぶ。



Masashi Katsurada 平成12年6月30日