Linuxでコマンドを使用する際によく使う縦線「|(パイプ)」について紹介します。このパイプを使うことで、より柔軟にコマンドを扱えるようになります。
コマンドをつなぐパイプ「|」
バイプ「|」は、複数のコマンドをつなぎ、標準出力を次のコマンドに渡すために使います。
1 |
$ コマンド1 | コマンド2 |
パイプで使う縦線「|」の入力方法
パイプに使う縦線「|」を入力するには、Windows・Macともに「Shift」キーを押しながら「¥」キーで入力できます。「¥」はキーワードの右上にあります。
パイプ「|」を使ったコマンドの使い方
「コマンド1 | コマンド2」のようにつなぎ、コマンド1の実行結果をコマンド2に渡します。
次からよく使うコマンドを具体例と共に紹介します。
1. 「grep」コマンドの組み合わせ
パイプ「|」を使うパターンとして多い、「grep」コマンドを組み合わせた例です。
以下のように、パイプを使わずに「$ ps aux」とすると実行中のプロセスが多すぎて、目的のプロセスを探すのが大変です。
1 |
$ ps aux |
そんな時は、「ps」コマンドの標準出力を「grep」コマンドに渡してあげて、その中から必要な部分を抜き出すのが便利です。
以下は、mysqlプロセスを検索する例です。
1 2 3 |
$ 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」の結果を、容量が小さい順にソートしたものです。
1 2 3 4 5 |
$ du -a | sort -n 4 ./file1 52 ./file2 72 ./file3 136 ./file4 |
このようにパイプを使うことで、コマンドをより便利に使うことができます。
今回紹介したコマンド以外にも、パイプでよく使われるコマンドには、「find」「uniq」「head」「tail」「wc」「sed」などがあります。