生成具有随机内容的文件的脚本

生成具有随机内容的文件的脚本

有人能建议一种编写脚本的方法吗?该脚本可创建一个文本文件,其中包含精确的随机数据12 MB?假设我有兴趣在脚本中创建一个/home/student/john.bin 仅由随机数据组成的文件,其大小恰好为12MB

答案1

dd if=/dev/random of=~/student/john.bin bs=1024 count=12000
或者
dd if=/dev/urandom of~/student/john.bin bs=1024 count=12000

其中,bs您想要的每个随机输入的大小是(1024 = 1Kb),而count您想要的块数是。

例如,
bs=1024,count=12000: 12MB
bs=512,count=24000: 12MB
bs=256,count=48000: 12MB
等等。

答案2

dd out of /dev/urandom 应该可以完成任务。如果您需要更高的随机性“纯度”,也可以使用 /dev/random。

IE :

mgodby@mgodby-nb1:~$ dd if=/dev/urandom of=/home/mgodby/blah.crap bs=4 count=3000000
3000000+0 records in
3000000+0 records out
12000000 bytes (12 MB) copied, 7.73399 s, 1.6 MB/s
mgodby@mgodby-nb1:~$ 

调整“块大小”和“数量”以获得所需的精确数据量。

注意:使用 /dev/random 可能比使用 /dev/urandom 花费的时间更长,但它会“更加随机”。有关更多信息,请参阅以下文章:
维基百科-/dev/random

相关内容