Solaris ユーザーズガイド (上級編)

コマンド出力のリダイレクトとパイプ

特に指定しない限り、コマンドの出力結果は画面上に表示されます。特別な記号を使って、コマンドの出力をリダイレクト (出力先を変更) できます。たとえば、コマンド出力を画面に表示せずにファイルに保存できます。次の例は、リダイレクト記号 (>) の使い方を示しています。


$ date> sample.file

$ 

この例では、date コマンドからの出力が sample.file という新規ファイルにリダイレクトされています。more を入力すると、 sample.file の内容を表示できます。


$ more sample.file

Tue Oct 31 15:34:45 MST 2000

$

この例に示すように、sample.file には date コマンドからの出力結果が入っています。more コマンドについての詳細は、第 3 章「ファイルとディレクトリの操作」を参照してください。

あるコマンドの出力を別のコマンドの入力としてリダイレクトすることもできます。このような方法で複数のコマンドを連結したものをパイプラインと呼びます。パイプラインは、パイプと呼ばれる垂直バー (|) を使って構成します。

たとえば、コマンドの出力結果をファイルに保存する代わりに、プリントコマンド (lp) の入力としてリダイレクトする場合、パイプ記号 (|) を使えます。date コマンドの出力を直接プリンタに送るには、次のように入力します。


$ date | lp

request id is jetprint-46 (1 file)

$

このパイプラインにより、date コマンドの結果が印刷されます。lp コマンドを使ったファイルの印刷方法については、第 8 章「プリンタの使い方」デフォルトプリンタへの印刷要求の実行を参照してください。

ここで紹介したコマンドのリダイレクト例は非常に簡単なものですが、さらに高度なコマンドを学習するに従って、リダイレクトとパイプのさまざまな用途が理解できます。