【LPIC1】リダイレクト

LPIC1

1.リダイレクトとは

標準入出力から、入出力先を切り替えることをリダイレクトと呼ぶ。
・入力リダイレクト→キーボード入力等の標準入力から、ファイル等に入力を切り替えること。
・出力リダイレクト→モニター等への標準出力から、ファイル等に出力を切り替えること。
・エラー出力リダイレクト→モニター等への標準エラー出力から、ファイル等に出力を切り替えること。

2.リダイレクトの方法

(1)入力リダイレクト

コマンド 0< [入力ファイルパス等]
※0は標準入力のファイルディスクリプタ番号。0の記載は省略できる。

(2)出力リダイレクト

コマンド 1> [出力ファイルパス等]
※1は標準出力のファイルディスクリプタ番号。1は省略できる。

(3)エラー出力リダイレクト

コマンド 2> [出力ファイルパス等]
※2は標準エラー出力のファイルディスクリプタ番号。標準出力と見分けがつかないため、2は省略できない。

(4)リダイレクトの記号

①<

入力元の切り替え。

②>

出力先の切り替え。※上書き

③>>

出力先の切り替え。※追記

④2>

エラー出力先の切り替え。

⑤&>

標準出力とエラー出力の出力先を一つのファイルにまとめる。※bash限定

⑥2>&1

標準出力をリダイレクト後、標準エラー出力の出力先を標準出力にリダイレクトすること。「&>」と結果は変わらないが、こちらは全てのシェルで使える。
例)コマンド > file.txt 2>&1
→コマンドの出力先をfile.txtにリダイレクトしてから、標準エラー出力の出力先も同じ場所にしている。

(5)リダイレクトによる出力破棄

リダイレクトで出力先を「/dev/null」ファイルに切り替えると出力が破棄されて、画面に何も表示されなくなる。実行結果をログを残したくないとき等に使う。※実行コマンド自体は基本的にログに出る。
例)cat file.txt > /dev/null 2>&1
→何も表示されない

タイトルとURLをコピーしました