Mac のターミナルの入力および出力をリダイレクトする
コマンドラインで、コマンドからの入力や出力をファイルまたは別のコマンドにリダイレクトできます。
コマンドの実行結果を取得して、後で使用するためにファイルに保存したい場合は、コマンドからの出力をリダイレクトします。同様に、コマンドに設定済み入力データを提供したい場合は、ファイルからの入力をコマンドにリダイレクトします(そのデータを入力するのではなく)。
入力や出力をリダイレクトするには、以下の文字を使用します:
リダイレクト | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | コマンド出力をファイルにリダイレクトするには、右山かっこを使用します。 | ||||||||||
< | ファイルの内容をコマンドへの入力として使用するには、左山かっこを使用します。 | ||||||||||
>> | コマンドからの出力をファイルに追加するには、2 つの右山かっこを使用します。 |
ファイルのリダイレクトだけでなく、縦線(パイプ)を使用して、あるコマンドの出力を別のコマンドの入力にリダイレクトすることもできます。このようにコマンドを組み合わせることで、同じコマンドをより洗練された方法で実行できます。
たとえば、次のコマンドでは、bash
のマニュアルページのフォーマットされた内容が grep
ツールに渡され、その内容から「commands」という単語を含む行が検索されます。その結果、マニュアルページ全体ではなく、指定されたテキストを含む行のリストが表示されます。
$ man bash | grep commands
以下に、標準的なパイプの例を挙げます:
stdin:この標準入力パイプで、コマンドが入力を受け取ります。デフォルトでは、コマンドラインインターフェイスからの入力を受け取ります。ファイルまたはその他のコマンドからの出力を stdin にリダイレクトできます。
stdout:この標準出力パイプで、コマンドの出力が送信されます。デフォルトでは、コマンド出力がコマンドラインに送信されます。コマンドラインからの出力をほかのコマンドやツールにリダイレクトできます。
stderr:この標準エラーパイプで、エラーメッセージが送信されます。デフォルトでは、エラーは標準出力と共にコマンドラインに表示されます。
リダイレクトについて詳しくは、bash のマニュアルページ(man で表示)を参照してください。