リダイレクトの基本

  • 結果のファイル出力
       +-+      +---------+
 stdin |0| +--> |/dev/tty0|
       +-+      +---------+

       +-+      +---------+
stdout |1| +--> |file     |
       +-+      +---------+

       +-+      +---------+
stderr |2| +--> |/dev/tty0|
       +-+      +---------+
$ ls > filelist.txt

 

  • エラーのファイル出力
       +-+      +---------+
 stdin |0| +--> |/dev/tty0|
       +-+      +---------+

       +-+      +---------+
stdout |1| +--> |/dev/tty0|
       +-+      +---------+

       +-+      +---------+
stderr |2| +--> |file     |
       +-+      +---------+
$ command1 2> file1

 

  • 結果とエラーをファイルに出力
       +-+      +---------+
 stdin |0| +--> |/dev/tty0|
       +-+      +---------+

       +-+      +---------+
stdout |1| +-+> |file     |
       +-+   ^  +---------+
             |
       +-+   |
stderr |2| +-+
       +-+
$ command >file 2>&1

結果をファイルに出力し、2の出力を1と同じにしている。次のように省略形を用いることもできる。

$ command &>file