Bash:生成随机文件内容

有的时候为了做些读写测试需要一些指定大小的文件,这时候可以通过下面的方法得到

dd if=/dev/urandom of=rnd_tmp_file bs=1M count=100

使用dd工具以Linux的urandom设备为输入(if=/dev/urandom),生成一个名为rnd_tmp_file(of=rnd_tmp_file)约100MB(1MB * 100)的随机文件

当然也可以使用/dev/random作为输入,据说有更好的随机性,但是速度奇慢,反正随便生成文件不是用于重要的加密过程,前者早已可以满足要求了。

如果想要更快的速度生成一个文件可以将/dev/zero作为输入,但是这时生成的文件全是零,如果用来检验一些需要修改文件的操作(如拆分,合并等)会非常不可靠,因为即使程序有问题导致区块顺序颠倒,因为是全零的文件,文件hash值还是不会改变。

下面给出使用不同设备作为输入的单次测试结果:

其中random作为输入时,时间依赖于系统活动状况,如果系统很闲,用户又没什么动作,过程尤其慢,因此只用它生成了100Byte数据

参考:

http://zh.wikipedia.org/wiki//dev/random

posted @ 2014-04-12 14:40  卖程序的小歪  阅读(1679)  评论(0编辑  收藏  举报