Linux

標準入出力とパイプライン

標準入出力

標準入出力とは以下の三つの総称。

  • 標準入力:ターミナルでのプログラム入力 キーボードで入力(ファイルでもOK)
  • 標準出力:入力を受けて返ってくる出力 端末ディスプレイに入力
  • 標準エラー入力:入力を受けてエラーの場合返ってくる出力 端末ディスプレイに入力

リダイレクト

標準入出力先を変更すること。

入力リダイレクト

入力リダイレクトとはキーボードの代わりにファイルを指定することをさす。
デフォルトはキーボードが期待されている。

<を使うことで入力対象を変更する。

$ cat < ~/project/mgk.html

標準出力のリダイレクト

実行結果を画面表示でなく、ファイルに保存したい場合。
デフォルトは画面に入力される。

>を使って保存先を指定。

$ ls > mgk.text

リダイレクト先ファイルは自動生成されるので、事前に作る必要はない。

 

標準エラー出力

プログラムのエラーを出力するために使用する。

標準出力と標準エラー出力は独立している。
故に、エラー文をテキストとしてリダイレクトすると、エラー文もでる。

/dev/null

リダイレクト先としてよく使われるファイル。

 

パイプライン

パイプラインとは、コマンドの標準出力を別コマンドに入力に繋げる。

イメージとしては、左側でゲットした 出力を右側に送る感じ。

| |これでつなぐ。

$ history | less

 

フィルタ

入力をそのまま出力して出力するコマンドがフィルタ。

cat: 入力をそのまま出力
head: 先頭を表示
tail: 末尾を表示
sort: 順番にする