dd の進捗を表示する事ができる
ふとしたことで status の引数を知りました
takuya@Desktop$ dd if=/dev/zero of=out.img bs=1M count=1000 status=progress 711983104 bytes (712 MB, 679 MiB) copied, 1.00343 s, 710 MB/s 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB, 1000 MiB) copied, 1.48507 s, 706 MB/s
man からの抜粋
status=LEVEL The LEVEL of information to print to stderr; 'none' suppresses everything but error messages, 'noxfer' suppresses the final transfer statistics, 'progress' shows periodic transfer statis- tics
status をつけたときの表示のタイミング
bs=1M なら 1Mを書くたびに progressが実行される。
## 1G を4回書いたとき=>4回前後 sudo dd if=/dev/zero of=/swap.img bs=1000M count=4 status=progress ## 10Mを 400回書いたとき=>400回前後 sudo dd if=/dev/zero of=/swap.img bs=10M count=400 status=progress
速度的には、bsが大きい方がわずかに早いと思うんだが、progressを見たいときは countを多めにしたほうがぱっと見れる。
その他の方法
通常は SIGNAL USR1
長くかかるときは シグナルを送ればいいんだけど、 status=progress
でもいいよね
dd_rescue もいいね
dd より dd_rescue 使うことが多いわ。
2018/02/27 追加
pv コマンドをつかって流してあげたほうが再利用しやすいかも
コマンド(lzop)の圧縮展開の進捗どうですかー?(pvコマンドで進捗を見る) - それマグで!