私はそれを使用する方法を説明する多くのガイドとフォーラムの記事を読んでいますdd
が、私が注目したことの1つは、人々が常にbs=
、count=
およびスイッチにseek=
異なる値を使用することです。
誰かがこれらのスイッチの機能が正確に何であるかを説明し(ページがそれほど詳細ではない)、またはファイル作成、パーティション、および外部ドライブの上書きなど、さまざまなタスクに最適な設定が何であるman
かを説明できますか?/dev/random
/dev/zero
ベストアンサー1
私はこれをマニュアルページよりもよく説明する方法を本当に知りません。
bs=
ブロックサイズを設定します(例:bs=1M
1MiBブロックサイズ)。
count=
このブロック数だけをコピーします(デフォルトは、ddが永久に続くか、入力が使い果たされるまで続きます)。理想的には、ブロックは特定のサイズですが、不完全なbs=
読み取りが発生する可能性があるため、特定のcount=
量のデータをコピーするために()を使用する場合は、そのcount*bs
ブロックも提供する必要がありますiflag=fullblock
。
seek=
出力デバイスの先頭に書き込むのではなく、出力でこのブロック数を見つけます。
たとえば、これにより、1MiBのコンテンツがy\n
8MiBの出力ファイルにコピーされます。したがって、合計ファイルサイズは9MiBになります。
$ yes | dd bs=1M count=1 seek=8 iflag=fullblock of=outputfile
$ ls -alh outputfile
9.0M Jun 3 21:02 outputfile
$ hexdump -C outputfile
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00800000 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a |y.y.y.y.y.y.y.y.|
*
00900000
/dev/random
パーティションに言及して上書きしたので...遅すぎる/dev/random
ので時間がかかります。/dev/urandom
直接使用することができ、shred -v -n 1
迅速かつ一般的にどこでも動作します。