標準入出力とフィルタ

内容一覧

ファイル記述子(file descriptor)

プロセスは自分の開いているファイルの情報を管理しています。 プロセスがファイルを1つ開くと、ファイルの状態を管理するために「file構造体」という構造体が割り当てられます。 プロセスは「file構造体」の配列を持っていま

予約済ファイル記述子

すべてのプロセスには必ず以下3つのファイル記述子が割り当てられています。つまり、これらに紐付く3つのファイルが常に開かれているということです。 0番: 標準入力(stdin) 1番: 標準出力(stdout) 2番: 標

標準入力(stdin)、標準出力(stdout)

では、これらに紐付くファイルは、具体的に何でしょうか? まず、標準入力、標準出力については以下のようになります。 標準入力:プロセスの初期状態では、現在使用している端末のキーボードと結び付いている。 読み出し専用。 標準

リダイレクト

標準入力や標準出力を別のファイルに繋ぎ替えることを「リダイレクト」と言います。 シェルがbashの場合、以下のようにすることでリダイレクトが出来ます。 標準入力をhoge.txtに変更: $ cat < hoge.

パイプ

あるプログラムの標準入力と別のプログラムの標準出力を結び付けることを「パイプ」と言います。 lessのように、長いテキストファイルの内容を1画面単位に区切って表示するプログラムを「ページャ(pager)」と呼びます。le

フィルタ

Linux(UNIX)のコマンドは次のような動作をするものが多いです。 標準入力、またはコマンドライン引数で指定したファイルから情報を読み込む。 必要であれば、コマンドライン引数のオプションで「指示」を受ける。 読み込ん

標準エラー出力

標準出力をリダイレクトしてしまうと、エラーメッセージ等がユーザに表示されない可能性があります。 そのため、標準出力とは別にエラーメッセージを出力する先が用意されています。それが「標準エラー出力」で、プロセスの初期状態では

ファイル記述子を指定したリダイレクト

“>” や “<” の前にファイル記述子を指定することで、標準エラー出力もリダイレクトすることが出来ます。デバッグのためにエラーを全部ファイルに出力したい時などに使い

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

フォローする