2>&1パイプラインは正確にどのように機能しますか?

2>&1パイプラインは正確にどのように機能しますか?

私はUNIXを学び始めたので、この質問は初心者のように見えるかもしれませんが、Googleの助けを借りて1時間成功していないまま自分自身を見つけようとしたので、答えを得てうれしいです。

cat /etc/shadow 2>&1 | wc -l

このコマンドはどのような影響を与えますか?私の推測は次のとおりです

  1. このコマンドは印刷します/etc/shadow で標準エラーがある場合は、標準出力にリダイレクトされ、エラー行数が計算されます。
  2. このコマンドは印刷します文書/etc/shadow で標準エラーがある場合は、標準出力にリダイレクトされ、エラー行数が計算されます。

答え1

X>&Yあるファイル記述子のリダイレクト:これはfdへのすべての出力Xです実際に入力するY2>&1STDERRの出力をSTDOUTに入れます。


wc -l入力行番号を STDOUT に書き込みます。


一緒に、このコマンドはcat /etc/shadow 2>&1 | wc -lの行数を返します/etc/shadowまたエラー行数。

もしあなたならいいえエラーのある行を計算するにはを使用しますcat /etc/shadow | wc -l

答え2

これは直接的な答えではありません。

実験をするのに何が邪魔になりますか?

実験を完了したら、おそらく自分の質問に答えたでしょう。

さまざまなコマンドの組み合わせを実行します。

cat /etc/shadow
cat /etc/shadows

cat /etc/shadow  2>&1
cat /etc/shadows 2>&1

その後、それぞれパイプwc

cat /etc/shadow    |  wc

その他など

関連情報