dd if=/dev/sdb | pig ZC | tee /sdb.img.gzがコンソールに印刷されるのはなぜですか?

dd if=/dev/sdb | pig ZC | tee /sdb.img.gzがコンソールに印刷されるのはなぜですか?

このコマンドsudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gzsudoタイトルでは省略)はバイナリデータをコンソールまたはdd出力に出力しますpigz。なぜすべての出力がパイプに取り込まれ、|チェーンの最後の出力がファイルにリダイレクトされるのか疑問に思います。したがって、標準出力は「リーク」されません。私がここで得ないものは何ですか?

私はbash提供されたコマンドバージョンに付属しているUbuntu 20.04を使用しています。

ベストアンサー1

tee 重複(あなたの場合)標準出力に送信される入力/sdb.img.gz。コンソールに出力が表示されないように出力をリダイレクトできます。

sudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gz > /dev/null

私はpigzrootとして直接実行し、以下を使用しませddtee

sudo sh -c 'pigz -c < /dev/sdb > /sdb.img.gz'

おすすめ記事