解决问题,思路很重要
看到网友在论坛求助,说是阿里云盘有个延长大容量空间的任务,要求上传100个不同 hash 值的文件,要怎么快速生成这100个文件,热心的网友思维都在一个方向,用各种方法去生成100个文件,还有说用 /dev/zero 去生成的,他估计不知道 /dev/zero 生成的文件 hash 值是一样的。
▲ 我不去生成,我直接把一个10M大小的文件切成100份。
▲ 100个不同hash的文件到手。
linux下稍微麻烦一些
dd if=/dev/urandom of=10M_file bs=10M count=1
从随机数设备里生成一个10M大小的文件,文件名为 10M_file
split -b 100k 10M_file hqidi.com_
用 split 把文件切开,每份大小 100kb,最后的 hqidi.com 用于指定切开后文件的文件名,可以省略。
ll -h |awk 'NR<5 || NR>99'
显示目录里面最上面跟最下面的文件
sha1sum hqidi.com_aa hqidi.com_dt hqidi.com_dv
对比最上面跟最下面文件的 hash 值
当然,linux 下如果你直接生成文件,而不是去切分的话,还是挺快的:
for i in {1..100};do dd if=/dev/urandom of=$i bs=100k count=1;done
原创文章,转载请注明: 转载自笛声
本文链接地址: 简单快速生成100个不同文件
5 条评论
晕死,要实现阿里上传100个不同 hash 值的文件任务直接选定临时目录即可,一大堆不同的临时文件……
有大小要求,好像最少要100KB
这个算不算作弊呀?
不算,完全照着规则来的,只是这个规则脑残,阿里的服务器上会有很多毫无用处的文件。
阿里这不是瞎搞嘛,这玩意不是可以随机生成一堆的= =、