dd で進捗状態を確認するには

先日

SUSE Linux で ファイルを完全削除 - 'シュレッダ'にかける

という記事を書いたのですが、 dd if=/dev/randam ...... を実行するとえらく時間がかかり、進捗状態が見えません。「本当にやってんの?」という不安に駆られます。

ということで、 dd コマンドが実際動作しているかどうかを調べる方法 (verbose モード)がないかと調べてみたら、ありませんでした。

ありませんでしたが他の方法がありました。

ddコマンド実行途中に、何バイトコピーできたかを見る方法

を参考にしました。たなかさんありがとう。
-実例-

sles11:~/tmp # dd if=/dev/random of=deleteme.file &
 <-- '&' 付きバックグラウンド実行(しかもサイズ指定していないし...)
[1] 4111 <--- プロセス番号を覚えておきます。
sles11:~/tmp # kill -USR1 4111
0+496818 records in
124202+0 records out
63591424 bytes (64 MB) copied, 40.1854 s, 1.6 MB/s <-- 状況です。
sles11:~/tmp # ls -l
total 91252
-rw-r--r-- 1 root root 93343232 Aug 27 19:51 deleteme.file
sles11:~/tmp # kill -USR1 4111
0+802359 records in
200586+0 records out
102700032 bytes (103 MB) copied, 64.6436 s, 1.6 MB/s
 <--- 103Mb 進捗、やってるよ。
sles11:~/tmp # ls -l
total 107508
-rw-r--r-- 1 root root 109971456 Aug 27 19:51 deleteme.file 
<-- サイズもおおよそ一致
sles11:~/tmp # kill 4111
 <--- 飽きたので止めました。
[1]+ Terminated dd if=/dev/random of=deleteme.file
sles11:~/tmp # ls -l
total 151332
-rw-r--r-- 1 root root 154806784 Aug 27 19:52 deleteme.file
sles11:~/tmp #

islandcenter.jp

-keyword-

dd コマンド 進捗表示 確認 SUSE Linux SLES
by islandcenter | 2013-08-28 16:13 | SUSE | Comments(0)