新しいファイルを作成して、1ギガバイト相当のランダムデータを入力するにはどうすればよいですか?いくつかのソフトウェアをテストするためにこれが必要です。
/dev/randomまたはを使用したいと思います/dev/urandom。
新しいファイルを作成して、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
headは、その価値は理解できません-c。
head読むことはできますが/dev/urandom、読むtailことはできません。
tail最初に入力ファイルの末尾に移動しようとしますが、これには(文字通り)時間がかかります。
/dev/zeroバラエティーが気に入らなければあなたも持っています。
擬似乱数データで十分であるdd if=/dev/urandom of=target-file bs=1M count=1000と仮定すると、あなたが望むことをします。
dd(1)は、入力ファイルからデータのブロックを読み取り、出力ファイルに書き込みます。コマンドライン言語は少し風変わりですが、基本をマスターする価値のある本当に便利なツールの1つです。
この場合if、入力ファイルでofあり、出力ファイルでbsあり、「ブロックサイズ」です-そして、GNU拡張を使用してサイズをより便利に設定しました。(ddGNU拡張機能がない場合は、1048576も使用できます。) countは、読み取りifおよび書き込みを行うブロックの数ですof。
/dev/urandom/dev/randomLinuxでは、真にランダムなデータが使い果たされたときにブロックするのではなく、強力な擬似ランダムデータにフォールバックするため、より良い選択です。
また、http://www.random.org/を、自分で生成せずにランダムデータを取得する別の方法として見ることもできます。
1Mすべての標準ddバリアントでは、ユニットの仕様は利用できません。のバージョンddが影響を受ける場合は、を使用しますbs=1048576。
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
これを使用して、5MBのランダムな文字データを生成しました。異なるサイズが必要な-c場合は、head の値を変更し、出力ファイル名を変更し、実行して、実行が完了するまで待ちます。
viて、プログラムを終了するようにvi -w randomfile見viたことがない人に尋ねます。;)