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