【パイプ】Linuxのコマンドで使う縦線「|」の意味と使い方

Linuxでコマンドを使用する際によく使う縦線「|(パイプ)」について紹介します。このパイプを使うことで、より柔軟にコマンドを扱えるようになります。

コマンドをつなぐパイプ「|」

バイプ「|」は、複数のコマンドをつなぎ、標準出力を次のコマンドに渡すために使います。

$ コマンド1 | コマンド2

パイプで使う縦線「|」の入力方法

パイプに使う縦線「|」を入力するには、Windows・Macともに「Shift」キーを押しながら「¥」キーで入力できます。「¥」はキーワードの右上にあります。

パイプ「|」を使ったコマンドの使い方

「コマンド1 | コマンド2」のようにつなぎ、コマンド1の実行結果をコマンド2に渡します。

次からよく使うコマンドを具体例と共に紹介します。

1. 「grep」コマンドの組み合わせ

パイプ「|」を使うパターンとして多い、「grep」コマンドを組み合わせた例です。

以下のように、パイプを使わずに「$ ps aux」とすると実行中のプロセスが多すぎて、目的のプロセスを探すのが大変です。

$ ps aux

そんな時は、「ps」コマンドの標準出力を「grep」コマンドに渡してあげて、その中から必要な部分を抜き出すのが便利です。

以下は、mysqlプロセスを検索する例です。

$ ps aux | grep nginx
  nginx  2504 0.0 2.4 395476 12436 ? S 2015 0:20 php-fpm: pool www
  nginx 19355 0.0 0.2  45372  1212 ? S 2015 0:04 nginx: worker process

ほかにも、さまざまなコマンドと組み合わせて「grep」コマンドは使います。

2. 「sort」コマンドの組み合わせ

「sort」コマンドも、パイプで使用する汎用性の高いコマンドのひとつです。

以下は、ファイルサイズを確認するコマンド「du」の結果を、容量が小さい順にソートしたものです。

$ du -a | sort -n
  4   ./file1
  52  ./file2
  72  ./file3
  136 ./file4

このようにパイプを使うことで、コマンドをより便利に使うことができます。

今回紹介したコマンド以外にも、パイプでよく使われるコマンドには、「find」「uniq」「head」「tail」「wc」「sed」などがあります。