Linux覚書 - 4
標準入出力とパイプライン
- 1 => コマンドラインの操作
- 2 => ファイルやディレクトリの操作
- 3 => Vimの操作
- 4 => 標準入出力とパイプライン現在地
- 5 => フィルタによるテキスト処理
標準入出力
コマンドを実行すると、次のような標準入出力チャネルが開かれる。
- 標準入力(通常はキーボード)
- 標準出力(通常は端末ディスプレイ)
- 標準エラー出力(通常は端末ディスプレイ)
リダイレクト
標準入出力先を変更することをリダイレクトという。
< ファイル
で標準入力をファイルに変更> ファイル
で標準出力をファイルに変更>> ファイル
で出力をファイルの末尾に追記2> ファイル
で標準エラー出力をファイルに変更2>> ファイル
でエラー出力をファイルの末尾に追記
- 標準出力と標準エラー出力を分ける
コマンド > 出力用ファイル 2> エラー出力用ファイル
- 標準出力と標準エラー出力をまとめる
コマンド > ファイル 2>&1
0
は標準入力1
は標準出力2
は標準エラー出力
nullファイルへのリダイレクト
/dev/nullに標準入出力をリダイレクトすると、内容や結果が捨てられる。
- 入力を空にしたいときは標準入力をリダイレクト
- エラーメッセージだけを読みたいときは標準出力をリダイレクト
- エラーメッセージを非表示にしたいときは標準エラー出力をリダイレクト
- メッセージ出力を抑止したいときは標準出力・標準エラー出力をともにリダイレクト
パイプライン
パイプラインは、一つのコマンドの結果を別のコマンドに直接送り込んでコマンドを連携させる機能である。
コマンドA | コマンドB
- コマンドAを実行し、その標準出力をコマンドBの引数(標準入力)としてコマンドBを実行
参考文献
新しいLinuxの教科書