新しいファイルを作成して1ギガバイト相当のランダムデータで埋めるにはどうすればよいですか?一部のソフトウェアをテストするには、これが必要です。
/dev/random
または/dev/urandom
を使用したいと思います。
ほとんどのユニックス:
head -c 1G </dev/urandom >myfile
head
がG
サフィックスを理解できない場合は、サイズをバイト単位で指定できます。
head -c 1073741824 </dev/urandom >myfile
head
が-c
オプションを理解しない場合(一般的ですがPOSIXではありません。おそらくOpenBSDを使用しています):
dd bs=1024 count=1048576 </dev/urandom >myfile
疑似ランダムデータで十分であると仮定すると、dd if=/dev/urandom of=target-file bs=1M count=1000
は必要な処理を実行します。
dd(1) は、入力ファイルからデータのブロックを読み取り、出力ファイルに書き込みます。コマンドライン言語は少し風変わりですが、基本を習得する価値のある本当に便利なツールの1つです。
この場合、if
は入力ファイル、of
は出力ファイル、bs
は「ブロックサイズ」で、GNU拡張子を使用しましたより便利にサイズを設定します(dd
にGNU拡張子がない場合も1048576を使用できます。)count
はブロックする数です。 if
から読み取り、of
に書き込みます。
/dev/urandom
は/dev/random
より良い選択です。Linuxでは、真にランダムなデータが使い果たされると、ブロックするのではなく、強力な疑似ランダムデータにフォールバックします。
http://www.random.org/ を、自分で生成せずにランダムデータを取得するための別の方法として確認することもできます。
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
これを使用して、5MBのランダム文字データを生成しました。別のサイズが必要な場合は、-c
ヘッドの値、出力ファイル名を変更して実行し、実行が完了するまで待機します。