---
title: LPIC101_regex_B32
tags: 
author: [Yukiko](https://docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ8D9ZR4JD.jpg?width=480
description: LPIC101_regex_B32 by Yukiko
published: April 22, 26
canonical: https://docswell.com/s/yukiko_it/Z6NGN4-2026-04-22-062348
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJ8D9ZR4JD.jpg)

LPIC-101 マスター学習ツール【B問題セット】
問32 シェル・リダイレクト
Q bashでコマンドの後に「2&gt;&amp;1」を挿入するとどのようにリダイレクトされますか
。
✓ 正解 → 標準エラー(2)を標準出力(1)へ（合流させる）
LPIC-101 | 問32 シェル・リダイレクト
1/6


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LJLMWDKVER.jpg)

1
この用語は？
2&gt;&amp;1（にーだい・あんぱさんど・いち）
FD2(標準エラー)をFD1(標準出力)と同じ行き先へ複製する／合流させる記法
かんたん定義
■ 2 ＝ 標準エラー出力(stderr) / 1 ＝ 標準出力(stdout) を表すファイルディスクリプタ番号
■ 「&amp;」があることで「FD1というファイル」ではなく「FDの番号1」を意味する
■ つまり『stderr の行き先を、いま stdout が向いている場所に合わせる』という意味
■ 代表例：command &gt; log.txt 2&gt;&amp;1 → エラーも通常出力も全部 log.txt に記録
LPIC-101 | 問32 シェル・リダイレクト
2/6


# Page. 3

![Page Image](https://bcdn.docswell.com/page/47MY9P2N7W.jpg)

2
簡単に書くよ ※正確な表現ではありません
ざっくりイメージ
■
Linuxでは、画面への出力には『普通の出
力』と『エラー出力』の2種類がある
■
どちらも普段は画面に出るが、ファイルに
したいとき困る
■
`&gt;` で普通の出力はファイルに送れるけど
、エラーだけ画面に残ってしまう
■
そこで `2&gt;&amp;1` ＝『エラーも同じ行き先に
合流させて！』の呪文
■
逆は `1&gt;&amp;2`（出力をエラー側へ）、全捨
ては `&gt;/dev/null 2&gt;&amp;1`
LPIC-101 | 問32 シェル・リダイレクト
図解で理解
ファイルディスクリプタ（FD）
0
1
2
stdin
stdout
stderr
標準入力
標準出力
標準エラー
2&gt;&amp;1
stderr を stdout の行き先に合流！
エラーも通常出力も
同じ場所（画面 or ファイル）へ
ex) cmd &gt; all.log 2&gt;&amp;1
3 /6


# Page. 4

![Page Image](https://bcdn.docswell.com/page/P7R9G1M4E9.jpg)

3
詳しく書くよ ※原理原則
原理原則： 2&gt;&amp;1 ＝ FD2(stderr)の出力先を、その時点でFD1(stdout)が向いている場所
へ複製する
■
Linuxプロセスは起動時に3つのFDを持つ： 0=stdin, 1=stdout, 2=stderr
■
■
通常は 1 も 2 も端末(/dev/tty)に繋がっているので、画面に混ざって出る
リダイレクト記法は順番が左→右で評価される（超重要）
■
〇 正しい例：cmd &gt; out.txt 2&gt;&amp;1（まず1をout.txtに、その後2も1(=out.txt)にコピー）
■
■
× 間違い例：cmd 2&gt;&amp;1 &gt; out.txt（2を先に1=端末にコピー、あとで1だけファイルに。エラーは画面のま
ま）
短縮記法：bashでは &amp;&gt; file や &amp;&gt;&gt; file で stdout と stderr の両方を同じファイルに
■
■
パイプにstderrも流す：cmd |&amp; grep ERR （bash 4以降）
全部捨てる：cmd &gt; /dev/null 2&gt;&amp;1 （定番イディオム）
■
× 選択肢『標準入力を標準出力へ』は 0&gt;&amp;1 に近い話で、2&gt;&amp;1とは別物
LPIC-101 | 問32 シェル・リダイレクト
4 /6


# Page. 5

![Page Image](https://bcdn.docswell.com/page/PJXQXYVZ7X.jpg)

4
実機でやって問題ないか
コマンド例 + Ubuntu / RedHat 差分
$ ls /etc /nonexistent &gt; out.txt 2&gt;&amp;1
$ cat out.txt
$ ls /etc /nonexistent &amp;&gt; all.log
$ ./build.sh &gt; /dev/null 2&gt;&amp;1 &amp;
# 両方 out.txt へ
# 正常もエラーも混在
# 短縮形（bash）
# 静かにバックグラウンド実行
Ubuntu
bash標準機能のため追加パッケージ不要。Ubuntu
24.04のデフォルトシェル(bash)で動作。dash（
/bin/sh）では `&amp;&gt;` 短縮形は使えないので注意。
LPIC-101 | 問32 シェル・リダイレクト
RedHat/RHEL
RHEL/Rocky/Alma も bash が標準シェルなので同様
に動作。差分なし。ただし /bin/sh 指定のスクリプ
トでは2&gt;&amp;1を使うこと（&amp;&gt;は非ポータブル）。
5 /6


# Page. 6

![Page Image](https://bcdn.docswell.com/page/3JK9W3QVJD.jpg)

★
一言でまとめるよ！
2&gt;&amp;1 ＝ エラー出力を標準出力に合流させる！
うさうさ先生より
順番に注意！「 &gt; file 2&gt;&amp;1 」はOK、「 2&gt;&amp;1 &gt; file 」はNG。全部捨てるなら `&gt;/dev/null
2&gt;&amp;1` を暗記しましょう。
LPIC-101 | 問32 シェル・リダイレクト
6/6


