コマンドパイプラインとリディレクション
標準入出力
端末の画面表示とキーボード入力を標準入出力とする考え方はWindowsと同じ。
キーボード入力が標準入力。ファイルディスクリプタは0。
画面へは標準出力(ファイルディスクリプタが1)と標準エラー出力(ファイルディスクリプタが2)の二つが表示される。
コマンドパイプライン
'|'を使ったコマンドパイプラインもWindowsと同じ。
リディレクション
'<','>','>>'を使ったリディテクションもWindowsと同じ。
エラーなどの表示
プログラムによっては,エラーや警告などのメッセージは標準出力ではなく,標準エラー出力(ファイルディスクリプタが2)に出力される。
それをリディレクトするときは'>'の代わりに'2>'を使う。
実行例
[toshim@gw2000 ~/work]$ls -l xxx yyy
ls: yyy: No such file or directory ← yyyというファイルはない
-rw-r--r-- 1 toshim users 5 May 2 19:33 xxx ← xxxはある
[toshim@gw2000 ~/work]$ls -l xxx yyy > redir1
ls: yyy: No such file or directory ← xxxの表示行はredir1にリディレクトされるが,エラー表示は画面に出る
[toshim@gw2000 ~/work]$cat redir1
-rw-r--r-- 1 toshim users 5 May 2 19:33 xxx ← redir1にリディレクトした内容
[toshim@gw2000 ~/work]$ls -l xxx yyy 2> redir2
-rw-r--r-- 1 toshim users 5 May 2 19:33 xxx ← '2>'でエラー表示をリディレクトするだけだと,通常表示は画面に出る
[toshim@gw2000 ~/work]$cat redir2
ls: yyy: No such file or directory ← redir2にリディレクトした内容
[toshim@gw2000 ~/work]$ls -l xxx yyy > redir3 2> redir4 ← '>'と'2>'の両方でリディレクトすると,両方ともリディレクトされる
[toshim@gw2000 ~/work]$cat redir3
-rw-r--r-- 1 toshim users 5 May 2 19:33 xxx ← redir3にリディレクトした内容
[toshim@gw2000 ~/work]$cat redir4
ls: yyy: No such file or directory ← redir4にリディレクトした内容
|
こちらも参照。 |