対象読者
● Linuxコマンド初学者
要点
● |(パイプ)はコマンドを繋げて実行するため記号
○ {コマンド1} | {コマンド2}
の様に利用する
○ コマンド1の結果を引き継いでコマンド2を実行する
○ grepコマンドと併せて利用される事が多い
|(パイプ)とは?
パイプとはLinuxコマンドを利用する際に、コマンドを繋げて実行する為の記号です。”|”この棒の様な記号がパイプです。
パイプはパイプラインから由来しております。パイプラインが複数のものを繋げる管路である事から、何かを繋げて処理するこちらの記号がパイプと呼ばれていると考えられます。
パイプを利用する際は、{コマンド1} | {コマンド2}
の様にコマンドの間に配置します。そうする事で、コマンド1の結果を引き継いだ状態でコマンド2を実行する事が出来ます。
パイプはgrepコマンドと併せて利用される事が非常に多いです。{任意のコマンド} | grep {検索するテキスト}
という様に、{任意のコマンド}
で取得したデータから必要な情報をgrepで検索する形で利用されるケースが多いです。
つまりユースケースとしては、大量のデータを取得した後に何かしらの情報を取得したい際に利用されます。※grepコマンドの詳細については【Linux】grepコマンドとは?を参照下さい。
実際にユースケースを見ていきましょう。
ターミナル(Windowsの場合git bashなど)を開いてください。
頻出するユースケース
頻繁に利用されるケースとしては、psコマンドとgrepをパイプで繋ぐケースです。
psコマンドは実行されているプロセス(≒PCが実行中のプログラム)を取得するコマンドです。
つまりpsコマンドでプロセスを取得し、grepで状態を確認したいプロセスを検索するというケースです。
実際にコマンドを実行してみましょう。
まずpsコマンド単体で実行してみましょう。
psコマンドを実行すると100以上のプロセスが表示される事は珍しくありません。
その中から目視確認で必要なプロセスを見つけるのは労力と時間が掛かってしまいます。
psコマンドとgrepコマンドをパイプを利用して実行してみましょう。
PIDが1583のプロセスを探しているケースを仮定し実行します。
コマンドはps | grep 1583
となります。パイプはShiftキーと¥キーを同時に押すと入力出来ます。
PIDが1583のデータのみを発見する事が出来ました。
Linuxの学習お疲れ様でした。
次はシェルスクリプトの学習に移る事をお勧めします。
シェルスクリプトの書き方