チップス

標準入力、標準出力、標準エラー出力 そして リダイレクトとパイプについて


shell から起動されるプログラムには、標準入力、標準出力、標準エラー出力という入出力が用意されています。

● 標準入力
通常、キーボードに割り当てられています。ファイルを読み込み、それに何らかの処理を行うプログラムの多くは、処理対象ファイルを指定しない場合は、標準入力を処理対象とします。

● 標準出力
通常、画面に割り当てられています。プログラムの計算結果・処理結果は標準出力に現れます。

● 標準エラー出力
通常、画面に割り当てられています。エラーメッセージやプログラムの起動メッセージなどの計算結果・処理結果意外のメッセージは標準エラー出力に現れます。
[box_b]何も指定しなければ、標準入力はキーボード、標準出力と標準エラー出力は画面になります。
キーボードや画面もファイルになります。 [/box_b]
● リダイレクト
標準入力、標準出力、標準エラー出力をファイルに切替える操作をリダイレクトといいます。

● パイプ
パイプはあるプログラムの標準出力を別のプログラムの標準入力に接続する機能です。
パイプを使うには、2つのコマンドラインの間を"|"で接続します。あるコマンドの出力を別なコマンドの入力として用いるための手段がパイプです。

● バッククオート
あるコマンドの出力をコマンドラインの一部として使うため機能です。

リダイレクトおよびパイプの記号一覧

 記号 : 意味
< : 標準入力リダイレクト > :標準出力リダイレクト (上書き)
>! :標準出力リダイレクト (上書き、 noclobber 無視)
>& :標準出力および標準エラー出力リダイレクト (上書き)
>'! :標準出力および標準エラー出力リダイレクト (上書き、 noclobber 無視)
>> :標準出力リダイレクト (追加)
>>! :標準出力リダイレクト (追加、 noclobber 無視)
>>& :標準出力および標準エラー出力リダイレクト (追加)
>>&! :標準出力および氷上んエラー出力リダイレクト (追加、 noclobber 無視)
| :パイプ (標準出力)
|& :パイプ (標準出力および標準エラー出力)

参考にさせていただいたページ ありがとうございます。
図解:標準入力、標準出力、標準エラー出力、パイプとは ?


   チップス