【Linux入門】リダイレクト(リダイレクション)

 リダイレクトは、LinuxやUnix系のオペレーティングシステムで標準入力や標準出力の先を、端末画面ではなく別の場所に切り替えるための仕組みです。これにより、コマンドの結果をファイルに保存する、またはファイルからデータを読み込むなどの柔軟な操作が可能となります。

標準出力のリダイレクト

'>' 演算子:標準出力をファイルへ上書き

$ command > output.txt

 このコマンドは、'command' の実行結果を 'output.txt' というファイルに上書き保存します。もし 'output.txt' が存在していれば、内容が上書きされます。

'>>' 演算子:標準出力をファイルへ追記

$ command >> output.txt

 このコマンドは、 'command' の実行結果を 'output.txt' というファイルに追記保存します。既存の内容は保持され、新しい内容が追加されます。

標準入力のリダイレクト

'<'演算子:ファイルから標準入力に読み込む

$ command < input.txt

このコマンドは、commandが標準入力を受け取る際に、その内容をinput.txtというファイルから読み込みます。

標準エラー出力のリダイレクト

'2>' 演算子:標準エラー出力をファイルへ上書き

$ command 2> error.log

このコマンドは、commandのエラーメッセージをerror.logというファイルに上書き保存します。

'2>>演算子':標準エラー出力をファイルへ追記

$ command 2>> error.log

このコマンドは、commandのエラーメッセージをerror.logというファイルに追記保存します。

標準出力と標準エラーを同時にリダイレクト

'&>' 演算子 または '2>&1' :標準出力と標準エラーを同時に上書き

$ command &> output_and_error.log

または

$ command > output_and_error.log 2>&1

 これにより、command の標準出力と標準エラー出力が同時に output_and_error.log に上書き保存されます。

まとめ

 これらのリダイレクト操作は、シェルスクリプトやコマンドラインでの作業時に非常に役立ちます。リダイレクトを利用することで、コマンドの実行結果やエラーメッセージをログファイルに保存したり、他のコマンドに渡して処理させたりすることができます。