カテゴリ: Linux基礎 更新日: 2026/05/26

Linuxの標準出力と標準エラーを同時にリダイレクトする方法を完全解説!初心者でもわかる&>の使い方

標準出力と標準エラーを同時にリダイレクトする方法(&>)
標準出力と標準エラーを同時にリダイレクトする方法(&>)

先生と生徒の会話形式で理解しよう

生徒

「コマンドを実行したときの結果をファイルに保存したいんですが、エラーも一緒に保存できますか?」

先生

「できますよ。Linuxでは標準出力と標準エラーを同時にリダイレクトする方法があります。」

生徒

「標準出力とエラーって別なんですか?」

先生

「そうです。それぞれ役割が違いますが、まとめて保存する方法もあります。今回はそのやり方をわかりやすく説明します。」

1. 標準出力と標準エラーとは

1. 標準出力と標準エラーとは
1. 標準出力と標準エラーとは

Linuxには「標準出力」と「標準エラー」という2つの出力の仕組みがあります。これは、コマンドを実行したときに表示される情報の種類を分けるためのものです。

標準出力は、コマンドが正常に実行された結果を表示するためのものです。一方、標準エラーは、エラーが発生したときに表示されるメッセージです。

たとえば、ファイル一覧を表示するコマンドでは、成功した結果は標準出力に表示され、存在しないファイルを指定するとエラーは標準エラーとして表示されます。

この仕組みを理解することで、ログ管理やトラブル対応がしやすくなります。

2. リダイレクトとは何か

2. リダイレクトとは何か
2. リダイレクトとは何か

リダイレクトとは、コマンドの結果を画面ではなくファイルに保存したり、別の場所へ送る仕組みのことです。

たとえば、画面に表示される内容をファイルに書き込むことで、あとから確認できるようになります。これはログ保存やデバッグに非常に重要なテクニックです。

Linuxでは、次のような記号を使ってリダイレクトを行います。

  • 大なり記号は出力をファイルに書き込む
  • 追記の場合は大なり記号を2つ使う
  • エラー出力は番号付きで指定する

これらを組み合わせることで、柔軟に出力をコントロールできます。

3. >と2>の違い

3. >と2>の違い
3. >と2>の違い

Linuxでは、標準出力と標準エラーは別々に扱われます。そのため、それぞれをリダイレクトする記号も異なります。

標準出力は「1」、標準エラーは「2」という番号で管理されています。

  • 標準出力は大なり記号で指定
  • 標準エラーは2と大なり記号で指定

たとえば、次のように書くと、それぞれ別のファイルに保存できます。


ls sample.txt notfound.txt > success.log 2> error.log
success.logには成功した結果が入り、error.logにはエラー内容が入る

このように分けて管理することで、問題の切り分けがしやすくなります。

4. &>で同時にリダイレクトする方法

4. &>で同時にリダイレクトする方法
4. &>で同時にリダイレクトする方法

標準出力と標準エラーをまとめて1つのファイルに保存したい場合は、「&>」を使います。

これは、両方の出力を同時にリダイレクトする便利な書き方です。初心者でも簡単に使えるので、ログをまとめたいときに非常に役立ちます。


ls sample.txt notfound.txt &> all.log
sample.txtの内容とエラーがall.logにまとめて保存される

この方法を使えば、1つのファイルにすべての情報を記録できます。

5. 実際に動きを確認してみよう

5. 実際に動きを確認してみよう
5. 実際に動きを確認してみよう

実際にコマンドを実行してみると、動きがよく理解できます。


echo hello &> output.log
output.logにhelloと書き込まれる

cat output.log
hello

次に、存在しないファイルを指定してみます。


cat notfound.txt &> result.log
エラーメッセージがresult.logに保存される

このように、成功も失敗もまとめて記録できるのが特徴です。

6. 追記したい場合の書き方

6. 追記したい場合の書き方
6. 追記したい場合の書き方

既存のファイルに追加したい場合は、「&>>」を使います。これは、ファイルを上書きせずに内容を追記する方法です。


echo first &>> log.txt
echo second &>> log.txt
cat log.txt
first
second

ログを蓄積したいときには、この書き方が便利です。

7. >と&>の使い分け

7. >と&>の使い分け
7. >と&>の使い分け

どのリダイレクトを使うかは目的によって変わります。

  • 成功した結果だけを保存したい場合は通常の出力を使う
  • エラーだけを保存したい場合は番号指定を使う
  • すべてまとめて保存したい場合は同時リダイレクトを使う

初心者のうちは、すべてまとめて保存する方法から覚えると理解しやすいです。

8. よくある使いどころと注意点

8. よくある使いどころと注意点
8. よくある使いどころと注意点

この方法は、プログラムの実行ログを保存するときや、エラーの原因を調べるときに役立ちます。

ただし、すべてを同じファイルに保存すると、どれがエラーなのか見分けにくくなる場合があります。そのため、状況に応じて使い分けることが大切です。

また、上書きと追記を間違えると重要なログが消えてしまうこともあるため、コマンドを実行する前に確認する習慣をつけると安心です。

まとめ

まとめ
まとめ

本記事ではLinuxにおける標準出力と標準エラーの違いから始まり、リダイレクトの基本、そして実務でもよく使われる同時リダイレクトの方法までを体系的に学びました。Linuxコマンド操作において標準出力と標準エラーを正しく理解することは、ログ管理やトラブルシューティング、システム運用において非常に重要な基礎知識です。特にサーバー運用やシェルスクリプトの開発では、出力の扱い方一つで作業効率や問題解決のスピードが大きく変わります。

標準出力は正常な処理結果を表示するための仕組みであり、標準エラーは異常や問題を通知するための仕組みです。この二つを分離して扱うことで、エラーだけを抽出したり、成功した処理だけをログとして保存したりすることが可能になります。一方で、すべての出力をまとめて確認したい場合には同時リダイレクトが非常に便利です。

特に覚えておきたいのが、標準出力は番号一で管理され、標準エラーは番号二で管理されているという点です。この番号の概念を理解することで、より高度なリダイレクト操作やファイルディスクリプタの扱いにも応用できるようになります。また、大なり記号を使った出力の上書きや追記の違いも重要なポイントであり、誤ってログを消してしまわないように注意が必要です。

同時リダイレクトであるアンパサンド大なり記号の書き方は、初心者にとって非常に覚えやすく、実務でも頻繁に利用されます。コマンドの実行結果とエラーを一つのファイルにまとめることで、後からの確認作業が効率的になります。特にバッチ処理や定期実行されるスクリプトでは、ログを一元管理することで運用の負担を軽減できます。

さらに、追記を行うアンパサンド大なり記号二つの書き方を覚えることで、ログを時系列で蓄積することが可能になります。これは障害調査や履歴確認において非常に有効です。日々の運用の中でログファイルがどのように増えていくかを理解しておくことで、ディスク容量の管理やログローテーションの設計にも役立ちます。

以下に、今回の重要なポイントを整理したサンプルを示します。これらのコマンドはLinux初心者でもすぐに試すことができ、実際の挙動を確認することで理解が深まります。


ls sample.txt notfound.txt &> all.log
sample.txtの結果とエラーがすべてall.logに保存される

ls sample.txt notfound.txt > success.log 2> error.log
成功した結果はsuccess.logに保存されエラーはerror.logに保存される

echo test &>> append.log
append.logに内容が追記される

これらの基本をしっかりと身につけることで、Linuxコマンド操作の理解が一段と深まり、システム管理やプログラミングにおける応用力が向上します。標準出力と標準エラーを適切に扱えるようになることは、初心者から一歩進んだスキルへの大きなステップとなります。

先生と生徒の振り返り会話

生徒

今回の内容で標準出力と標準エラーの違いがはっきり理解できました。今まではただコマンドを実行して結果を見るだけでしたが、出力の種類が分かれているとは知りませんでした。

先生

とても良い理解です。Linuxでは出力の仕組みを理解することで、ログ管理やデバッグがとてもやりやすくなります。特にエラーだけを取り出したり、結果だけを保存したりできるのは大きな利点です。

生徒

アンパサンド大なり記号を使えば両方まとめて保存できるのも便利でした。実務でも使えそうです。

先生

その通りです。実際の現場ではログを一つにまとめることも多く、同時リダイレクトはよく使われます。ただしエラーと正常結果が混ざるので、状況によって使い分けることも重要です。

生徒

追記の書き方も覚えました。これでログを消さずに残せますね。

先生

その理解はとても大切です。ログはトラブル対応の重要な情報源です。上書きと追記を間違えないように注意しましょう。今回の内容を繰り返し実践すれば、Linux操作の基礎がしっかり身につきます。

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
patch -Rオプションの使い方を完全ガイド!初心者でもわかるLinuxでパッチを元に戻す方法
New2
テキスト・データ処理
less -Xオプションの使い方を完全ガイド!終了後も画面内容を残す方法
New3
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
New4
ディスクとファイルシステム管理
dfコマンドの使い方を完全ガイド!初心者でもわかるLinuxのディスク使用量確認方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!