このdd
コマンドを使用してディスク速度を確認します。
dd if=/dev/zero of=/path/file bs=1G count=1 oflag=direct
次の内容を返します。
1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 8,52315 s, 126 MB/s
dd
今、この出力を私が書いているファイルではなく別のファイルにパイプしたいと思います。
追加してみました
>> /tmp/foo
または
| sudo tee /tmp/foo
command を実行しますdd
が、これは空のファイルを生成するだけです。
答え1
他のコマンドの前または後にパイプを挿入できるように、対応するdd
情報メッセージは標準出力ではなく標準エラーに書き込まれます。
OpenBSD マニュアルdd
これを明示的に言及します(しかしUbuntuのマニュアルこれは無視されているようですが、より完全なページinfo
に記載されています。)
完了すると、完全
dd
および部分的な入力および出力ブロックの数と切り捨てられた入力レコードが表示されます。標準エラー出力。
コマンドから標準エラーをリダイレクトするには、を使用します2>filename
。標準エラーストリームを切り捨てずに既存のファイルに追加するには2>>filename
。
たとえば、
dd if=/dev/zero of=/path/file bs=1G count=1 oflag=direct 2>dd.txt
最初の例の追加された出力>>
と2番目の例の切り捨てられた出力がtee
混在していることに注意してください。ファイルに追加するには、tee
を使用しますtee -a
。
答え2
dd
出力は実際には印刷されませstderr
ん。stdout
stderr
次のようにファイルをコマンドにリダイレクトできますdd
。
$ dd if=/dev/zero of=/path/file bs=1G count=1 oflag=direct 2>> /path/to/file