フリーキーズ | 独学プログラミング

リダイレクト(redirect)とは

最終更新日

情報科学とコンピューティングにおいて、「リダイレクト」という用語は、データの流れを既定の目的地から別の目的地に変更するプロセスを指し、通常は入力と出力のストリームが関係します。リダイレクトは、コマンドライン環境やシェルスクリプトで、コマンドやプログラムの出力をどこに送るか、またはコマンドやプログラムの入力をどこから受け取るかを制御するためによく使われます。

リダイレクトの主な3つのタイプ

1. 出力リダイレクト

コマンドやプログラムの出力を画面に表示する代わりに(デフォルトの動作)、出力をファイルや別のプログラムに送信します。Unix系OS(LinuxやmacOSなど)やWindowsコマンドプロンプトでは、 > 記号が出力リダイレクトに使用されます。

例)ls コマンド(ディレクトリの内容を一覧表示する)の出力を files.txt という名前のファイルに保存するには、次のコマンドを使用します。

ls > files.txt

2. 入力のリダイレクト

キーボードから入力を受け取る(デフォルトの動作)代わりに、入力リダイレクトによって、コマンドやプログラムがファイルや他のプログラムから入力を読み取ることができます。Unix系OSやWindowsのコマンドプロンプトでは、入力のリダイレクトに < という記号が使われます。

例)sort コマンド(テキスト行をソートする)の入力として input.txt という名前のファイルの内容を使用するには、次のコマンドを使用します。

sort < input.txt

3. エラーのリダイレクト

エラーメッセージのリダイレクトは、エラーメッセージを標準出力から切り離したり、ファイルに保存して後で解析したりするのに便利です。Unix系OSでは、エラーリダイレクトに「2>」という記号が使われ、Windowsコマンドプロンプトでは、「1>」という記号が使われます。

例) find などのコマンドで生成されたエラーメッセージを errors.txt という名前のファイルに保存するには、Unix系OSでは次のコマンドを使用します:

find / -name "myfile.txt" 2> errors.txt

まとめ

要約すると、「リダイレクト」とは、情報科学とコンピューティングで使われる用語で、データの流れをデフォルトの宛先から別の宛先に変更するプロセスを表すもので、通常は入力と出力のストリームが関係します。リダイレクトは、コマンドライン環境やシェルスクリプトで、コマンドやプログラムの出力がどこに送られるか、あるいはコマンドやプログラムの入力がどこから受け取られるかを制御するためによく使われます。