Tech Blog

リダイレクションによるファイル操作

2021-02-25

ファイルディスクリプタ

UNIXには、ファイルディスクリプタというものがあり、 プロセスとそれが使用するファイルとを結びつけています。 何かプログラムがファイルを作成して書き込みを行う場合など、 プロセスはファイルディスクリプタを使って対象となるファイルへアクセスします。

ファイルディスクリプタの番号意味
0標準入力(普通はキーボードからの入力)
1標準出力(普通は端末画面への出力)
2標準エラー(普通は端末画面への出力

リダイレクション

リダイレクション例説明デフォルト
>file標準出力をfileといるファイルに書く1>file
>>file標準出力をfileというファイルに追加書きする1>>file
>&m標準出力をm番のファイルディスクリプタに書く1>&m
>&-標準出力をクローズする1>&-
<file標準入力をfileというファイルから読み込む0<file
<&m標準入力をm番のファイルディスクリプタから読み込む0<&m
<&-標準入力をクローズする0<&-
<<word標準入力をヒアドキュメントから読み込む0<<word

注意点

  • 指定できるファイルディスクリプタの番号は0から9まで
  • リダイレクト記号とファイルディスクリプタ番号との間にスペースを空けない