名前付きパイプ

パイプ(pipe)とは、UNIX で実現された、プログラム同士を組み合わせて利用するための一手法の名称である。パイプライン(pipeline)ともいう。このアイデアは、MS-DOS をはじめとする様々な OS やアプリケーションに受け継がれている。

以下が典型的なパイプの利用例である。|(バーティカルバー) はシェルパイプを指示する記号である。

 List. 1  grep 札幌市 Address.txt | a2ps | lpr 


これは
  1. ファイル Address.txt から "札幌市" が含まれるを出力し
  2. その出力を入力として受け取って a2ps コマンドを用いて整形し
  3. その出力を印刷する
といった流れを示したものである。以下も同じ処理をう手続きであるが、

 List. 2  grep 札幌市 Address.txt > sapporo.txt a2ps < sapporo.txt > print.ps lpr < print.ps


このような中間ファイルを利用する方法より、簡潔な記述とすばやい動作が期待できる。

List. 2 では、1 つ目のプログラムが完全に終了して初めて 2 つ目のプログラムが動き出し、2 つ目のプログラムが終了して初めて 3 つめのプログラムが動き出すが、List. 1 では、可能であれば 3 つのプログラムがマルチタスクにより同時に動く。また、データの受け渡しはファイルではなくメモリ上でわれる。このため、一般的に List. 2 よりも List. 1 の方が高速である。ただし、MS-DOS はシングルタスク OS であるため、List. 1 のように指示しても内部で中間ファイルが作られるので、実際には List. 2 を指示したのと同じ意味になる(処理が終われば中間ファイルMS-DOS により削除され、ユーザには何もなかったように見える)。

UNIX の思想のバックボーンには、それぞれの役割に特化したプログラムを組み合わせ、複雑な機能を実現する(ツールキットアプローチ、分割統治法)がある。パイプはその典型であり、UNIX を利用する大きな魅力のひとつとなる。

名前付きパイプ」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。2009年7月28日15時(日本時間)現在での最新版を取得。

続きを見る

おすすめ情報

高品質・低価格のインターネットプロバイダ
インターネットプロバイダー「ASAHIネット」はADSL, 光回線などのインターネット接続を業界最安値水準でを提供している。日経ビジネス・J.D. Power等のお客様満足度調査でも高い評価を得ており。「推奨度№1」といわれるのも納得だ。


2010年プロバイダー【顧客満足度】NO.1 トリプル受賞  ASAHIネット

入会・お問い合わせダイヤル
0120-030-275
携帯電話/PHS/IP電話などからは
03-3569-3526

10:00~19:00(土日祝~17:00)

書面での申し込みはこちら
資料請求

このページのトップヘ