パイプ【pipe】
概要
匿名パイプ (無名パイプ/名前無しパイプ)
UNIX系OSのシェルなどではプログラムを実行する際に「|」(縦棒)を隔てて別のプログラムを指定することにより、前のプログラムの標準出力を次のプログラムの標準入力に流し込む「匿名パイプ」(anonymous pipe/無名パイプ/名前無しパイプ)を利用することができる。
簡単な記法でプログラムを連結でき大変便利であるため、UNIX系OSでは伝統的にこの仕組みを利用して、単機能の単純なコマンド(フィルタと呼ばれる)をパイプで連結して連続的に実行することにより複雑な処理を行うという手法がよく用いられる。
名前付きパイプ
一方、実行の前後関係を明示的に指定していない場合でも、プログラム側で識別名を指定して「名前付きパイプ」(named pipe)を作成し、FIFO(先入れ先出し)方式で他のプログラムへデータを連続的に渡すことができる。
パイプの操作はファイルの入出力と同じ手順で行えるようになっており、特殊なパスを指定してファイルを開き、データの書き出しや読み込みを行う感覚で利用することができる。一つのパイプを三つ以上のプログラムが同時にアクセスすることもでき、入力側と出力側が限定されない双方向の通信ができる。
(2018.8.21更新)
「パイプ」の関連用語
他の用語辞典による「パイプ」の解説 (外部サイト)
- 日経 xTECH Linuxキーワード「パイプ」
- CodeZine UNIXコマンド辞典「パイプ」
- マンガで分かるプログラミング用語辞典「パイプ」
- WhatIs.com (英語)「pipe」
- Techopedia (英語)「Pipe」
- PC Magazine (英語)「pipe」
資格試験などの「パイプ」の出題履歴
▼ 基本情報技術者試験
【平28春 問18】 UNIXにおいて,あるコマンドの標準出力を,直接別のコマンドの標準入力につなげる機能はどれか。
