パイプ
前の出力を次の入力にするための仕組みだよ
コマンドを「|」でつなぐよ
簡単に書くよ
パイプ(英:pipe)とは
「|(半角の縦棒)」のこと。
もう少しきちんと書くと
コマンドを「|(半角の縦棒)」でつなぐことで前のコマンドの出力を次のコマンドの入力として渡す仕組みのこと
です。
詳しく書くよ
コマンドは「コンピュータさんに対する命令」ね。
それを踏まえて
1回目の命令に対するコンピュータさんの反応を2回目の命令に反映させるための仕組み
が「パイプ」です。
コマンドを「|(半角の縦棒)」でつなぐことで前のコマンドの出力を次のコマンドの入力として渡せます。
……と、いきなり言われても分かりませんよね。
大丈夫です。
順番に説明していきます。
例えば、UNIX系のコンピュータ(LinuxとかMacとか)には「ls」というコマンドがあります。
「ls」コマンドは「ファイルやディレクトリの一覧を表示するときに使うコマンド」です。
「今いる場所には、どんなファイルがあるのかな~」を確認するときに使います。
あと「more」というコマンドもあります。
「more」コマンドは「ファイルの中身を表示するときに使うコマンド」です。
ページ送り機能が付いていて、1画面ずつのんびりと見られます。
「ls」コマンドと「more」コマンドを例にして、パイプについて見ていきましょう。
ここにスーパープログラマのピヨ太君がいます。
ピヨ太君は「ls」コマンドを実行しました。
そうしたら、ファイルがいっぱい表示されて、画面がどんどんスクロールしていきました。
おそらく、今いるところにファイルがたくさんあったのでしょうね。
これでは困ります。
ピヨ太君は、ファイルの中身を1ページずつのんびり見られる「more」コマンドの存在を思い出しました。
そこで「ls」コマンドの結果を一旦ファイルに出力し、それを「more」コマンドで読み込んだのです。
具体的には
ls > hoge.txt
more hoge.txt
としました。
これでピヨ太君は「ls」コマンドの結果を1ページずつ見られるようになりました。
めでたし、めでたし。
……では ありません。
ピヨ太君は「ls」コマンドの結果を一旦ファイルに出力しました。
わざわざファイルを作るなんて無駄無駄無駄ぁ!
実は「ls」コマンドの実行結果を、ファイルを作らないで「more」コマンドで見られるのです
コマンドとコマンドを「|」でつないで
ls | more
のように書くことで「ls」コマンドの実行結果(出力)を直接「more」コマンドの入力として渡せます。
わざわざファイルを作らなくても「ls」コマンドの実行結果を「more」コマンドで見られるのです。
このように前のコマンドの出力を次のコマンドの入力として渡す仕組みがパイプです。
コマンドをつなぐときは「|(半角の縦棒)」を使います。
転じて、この「|(半角の縦棒)」を指して「パイプ」と呼ぶ場合も あります。
一言でまとめるよ
まぁ「パイプ」って単語が出てきたら「前の出力を次の入力にするための仕組みなんだな~」と お考えください。
おまけ
■訳してみるよ
「pipe(パイプ)」の意味は
・管
・パイプ
・筒
とかです。






