[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

パイプ (pipe)

pointこの用語のポイント

point前の出力を次の入力にするための仕組みだよ

pointコマンドを「|」でつなぐよ

スポンサーリンク

簡単に書くよ

パイプ (pipe)とは

「|(半角の縦棒)」のこと。
もう少しきちんと書くと

コマンドを「|(半角の縦棒)」でつなぐことで、前のコマンドの出力を次のコマンドの入力として渡す仕組みのこと
です。

image piyo

詳しく書くよ

コマンドは「コンピュータさんに対する命令」ね。

パイプ

それを踏まえて、1回目の命令に対するコンピュータさんの反応を、2回目の命令に反映させるための仕組みが「パイプ」です。
コマンドを「|(半角の縦棒)」でつなぐことで、前のコマンドの出力を次のコマンドの入力として渡せます。

パイプ2

と、いきなり言われても分かりませんよね。
大丈夫です。
順番に説明していきます。

例えば、UNIX系のコンピュータ(LinuxとかMacとか)には「ls」というコマンドがあります。
「ls」コマンドは「ファイルディレクトリの一覧を表示するときに使うコマンド」です。
「今いる場所には、どんなファイルがあるのかな~」を確認するときに使います。

あと「more」というコマンドもあります。
「more」コマンドは「ファイルの中身を表示するときに使うコマンド」です。
ページ送り機能が付いていて、1画面ずつのんびりと見ることができます。

「ls」コマンドと「more」コマンドを例にして、パイプについて見ていきましょう。

ここにスーパープログラマのピヨ太君がいます。

パイプ3

ピヨ太君は「ls」コマンドを実行しました。

パイプ4

そうしたら、ファイルがいっぱい表示されて、画面がどんどんスクロールしていきました。
恐らく、今いるところにファイルがたくさんあったのでしょうね。

パイプ5

これでは、困ります。
ピヨ太君は、ファイルの中身を1ページずつのんびり見られる「more」コマンドの存在を思い出しました。

そこで「ls」コマンドの結果を一旦ファイルに出力し、それを「more」コマンドで読み込んだのです。
具体的には

ls > hoge.txt
more hoge.txt


としました。

パイプ6

これでピヨ太君は「ls」コマンドの結果を1ページずつ見られるようになりました。

パイプ7

めでたしめでたし。

……では、ありません。
ピヨ太君は「ls」コマンドの結果を一旦ファイルに出力しました。

わざわざファイルを作るなんて無駄無駄無駄ぁ!
実は「ls」コマンドの実行結果を、ファイルを作らないで「more」コマンドで見ることができるのです

パイプ8

コマンドとコマンドを「|」でつないで

ls | more

のように書くことで「ls」コマンドの実行結果(出力)を直接「more」コマンドの入力として渡すことができます。
わざわざファイルを作らなくても「ls」コマンドの実行結果を「more」コマンドで見られるのです。

パイプ9

このように前のコマンドの出力を次のコマンドの入力として渡す仕組みが「パイプ」です。
コマンドをつなぐときは「|(半角の縦棒)」を使います。
転じて、この「|(半角の縦棒)」を指して「パイプ」と呼ぶ場合もあります。

image piyo2

一言でまとめるよ

まぁ「パイプ」って単語が出てきたら「前の出力を次の入力にするための仕組みなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク