この手法をパイプと呼び、縦棒(|)を使用します。
[student@h006 ~]$ ls -l | tailとすると、 ls コマンドの出力をパイプによって tail コマンドの入力として渡すので、 ls の結果の末尾が出力されます。
これは、次の様にコマンドを続けて実行したのと同じようになります。
[student@h006 ~]$ ls -l > test.out [student@h006 ~]$ tail test.outパイプはメモリ上でデータの受け渡しをしますので、 ディスクI/Oがない分実行が速くなります。
コマンド wc のように標準入力からデータを読み込み、 実行結果を標準出力に出力するようなプログラムをフィルターと呼びます。
[student@h006 ~]$ ls -ld . | wc 1 9 46補足)エラーのパイプ処理
[student@h006 ~]$ ls -ld . /xxx | wc ls: /xxx にアクセスできません: そのようなファイルやディレクトリはありません # エラー出力はパイプライン外に流れる 1 9 52 [student@h006 ~]$ ls -ld . /xxx 2>&1 | wc 2 13 160