Linuxのリダイレクトの使い方と種類!標準出力・入力・エラーやパイプについても解説

Linuxでは、画面に出力される内容をファイルに出力したり、逆にキー入力の代わりにファイルから入力させたりするときには、「>」もしくは「<」を使うリダイレクトを使用します。本記事では、Linuxで非常によく使う、このリダイレクトについて説明します。

目次

  1. 1Linuxのリダイレクトについて
  2. リダイレクトとは何か
  3. リダイレクトの基本
  4. 使用する主な場面
  5. 2Linuxでのリダイレクトの使い方
  6. 標準出力について
  7. 標準エラー出力について
  8. 標準入力について
  9. 3Linuxでのリダイレクトの種類
  10. リダイレクトの種類一覧
  11. パターン別の使用例
  12. 4Linuxでのリダイレクトとパイプについて
  13. リダイレクトとパイプの使い分けとは
  14. 標準出力をパイプで渡す方法
  15. 5Linuxでリダイレクトを活用しよう

Linuxのリダイレクトについて

Linuxのコマンドラインで非常によく使われるのが「リダイレクト」です。Linuxのコマンド例では、よくコマンドの後に「<」「>」という不等号が出てきますが、これがリダイレクトです。
 

  • echo It's applica site. > applica.txt
​​​​​
なお、本章ではこのリダイレクトについての説明を行ないますので、説明は不要ですぐにリダイレクトの使い方を知りたい場合は、目次から「Linuxでのリダイレクトの使い方」へ進んでください。​​​​​​

リダイレクトとは何か

「リダイレクト」は「redirect」つまり「別な方向に(ものを)送る」という意味で、Linuxでは入力・出力先を変更するという意味で使われます

リダイレクトの基本

いま、Linuxではリダイレクトは、入力・出力先を変更するという意味で使われると説明しました。しかし、それだけではいったい何をどう変更するのか、想像しづらいこととでしょう。Linuxでは、基本的に標準出力や標準入力、標準エラー出力がリダイレクトの対象になり、多くの場合は変更された入力・出力先はファイルとなります

突然「標準入力」「標準出力」「標準エラー」という単語が出てきて戸惑う方もおいででしょうが、これについて次の章にて説明します。いまのところ、
 

  • 標準入力………キーボードで入力したもの
  • 標準出力………コマンドを打つと画面に表示される出力結果
  • 標準エラー……間違ったコマンドを打った結果表示されるエラーメッセージ

だと思っておいてください。

ファイルデスクリプタの割り振り番号

Linuxでは、キーボード入力や画面への出力も、ファイル入力・ファイル出力の一形態として扱われます。そのため、これらに対してもファイルとしての識別子、ファイルデスクリプタ(FD)の番号が充てられています。
 

  • 標準入力………0
  • 標準出力………1
  • 標準エラー……2

現時点では、そういう番号があるのだな、ということだけ覚えておいてください。このファイルデスクプタの番号は次の章の「標準エラー出力について」の節で、また出てきます

使用する主な場面

それでは、この章の最後にリダイレクトが使われる主な場面を紹介します。

コマンドの結果表示をファイルに保存

Linuxでリダイレクトが一番多く使われるシチュエーションは、「標準出力をファイルに出力する」場合です。言い換えると、「画面に出力される文字列をファイルへ保存する」場合です。Linuxの通常の使用方法では、コマンドを入力すると、その結果が画面上にあふれてしまい、コマンドの結果が画面の上へ、画面外へとどんどん流れ出てしまいます。

そのため、コマンドの結果を確認しようとするには、Linuxでは一般にリダイレクトでファイルに結果を保存して、それをあとからcatやlessを使って確認するか、のちほど「Linuxでのリダイレクトのパイプについて」の章で紹介する、パイプを経由してlessコマンドなどへ繋いで確認することになります。

パイプラインでの出力結果を加工して保存

同様に最終的にはファイルに出力する際に使われるのですが、「標準出力」ではなく、「パイプラインの出力結果」をファイル出力する際にもリダイレクトはよく使われます。突然パイプラインと言われても困るでしょうが、これはLinuxの1行コマンドで、複数のコマンドをのちほど紹介する「パイプ」で連結してひとつのコマンドのように操る術です。

このパイプラインの出力結果もやはり標準出力に出力されますので、放っておくと画面外へとあふれてしまいます。そこで、パイプラインの出力結果もほとんどの場合、リダイレクトを用いてファイルに出力することになります。

Linuxのawkコマンドでテキストの加工とパターン処理を行う方法!基本的な使い方とオプションを解説!
数あるLinuxのコマンドの中でも、テキストファイルを自在に加工できる使い勝手のいいコマンド...

Linuxでのリダイレクトの使い方

それでは、いよいよ本章からはLinuxで実際にリダイレクトを扱う使い方について、「標準出力」「標準エラー出力」「標準入力」の3つに分けて説明します。

標準出力について

まずは、Linuxの標準出力をリダイレクト経由でファイルに出力する方法をお教えします。わかりやすく、引数をそのまま標準出力に出力するechoコマンドを使って説明します。まず、普通にechoコマンドを使って「Here is applica.」と表示するために、「echo Here is applica.」と入力します。すると、標準出力に「Here is applica.」と返ってきます

ファイルが存在しない場合は新規作成

それでは、今度はリダイレクトを使って標準出力をファイルに書き出します。いま、このようにフォルダだけしかないディレクトリにいる状態で、リダイレクトを使ってみます。

さきほどの「echo Here is applica.」のコマンドを、「applica.txt」にリダイレクトして「echo Good bye applica. > applica.txt」と入力します。

関連するまとめ

関連するキーワード

この記事のライター
julyten
PDAの頃から携帯機器やPC関係を扱ってきた旧きプロレス愛好家。

人気の記事

新着まとめ