新しいファイルを作成して、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拡張を使用してサイズをより便利に設定しました。(dd
GNU拡張機能がない場合は、1048576も使用できます。) count
は、読み取りif
および書き込みを行うブロックの数ですof
。
/dev/urandom
/dev/random
Linuxでは、真にランダムなデータが使い果たされたときにブロックするのではなく、強力な擬似ランダムデータにフォールバックするため、より良い選択です。
また、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
たことがない人に尋ねます。;)