各コマンドは、入力または出力用として、3つのチャネルを使用できます。:
標準出力. デフォルトの出力チャネル。コマンドで何かをプリントする際には標準出力チャネルが使用されます。
標準入力. コマンドでユーザまたは他のコマンドからの入力を必要とする場合は、このチャネルが使用されます。
標準エラー. このチャネルは、エラーレポーティングに使用されます。
これらのチャネルをリダイレクトするには、次の方法を使用できます。
Command > File
コマンド出力をファイルに保存します。既存ファイルは削除されます。たとえば、lsコマンドの出力をlisting.txtファイルに書き込みます。
ls > listing.txt
Command >> File
コマンド出力をファイルに追加します。たとえば、lsコマンドの出力をlisting.txtファイルに追加します。
ls >> listing.txt
Command < File
ファイルを読み込み、指定されたコマンドへの入力とします。たとえば、ファイルのコンテンツをreadコマンドで読み込み、変数aに入力します。
read a < foo
Command1 | Command2
左側のコマンドの出力を右側のコマンドの入力にします。
各チャネルには、対応するファイル記述子があります。標準入力には0(ゼロ)、標準出力には1、標準エラーには2が割り当てられています。このファイル記述子を<文字または>文字の前に挿入できます。たとえば、次の行では、fooで始まるファイルを検索しますが、そのファイルを/dev/nullにリダイレクトすることでエラーメッセージを抑制します。
find / -name "foo*" 2>/dev/null