我更喜欢使用
/dev/random
或/dev/urandom
。#1 楼
在大多数unices上: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
不要使用
/dev/random
在Linux上,请使用/dev/urandom
。评论
有趣的是,头可以读到/ dev / urandom,但是尾巴不能读。
– Stefan Lasiewski
2012年12月12日23:24
@StefanLasiewski的尾巴首先尝试转到输入文件的末尾,这将永远(字面意义)。
–吉尔斯'所以-不再是邪恶的'
2012年12月12日23:25
@StefanLasiewski如果您不喜欢变化,那么您也有/ dev / zero。
–吉尔斯'所以-不再是邪恶的'
2012年12月12日23:55
更正我的最后一条评论:算术扩展是POSIX,因此不必是Bash。
–于富兰
20年8月3日,下午2:29
无需进行第一个<文件重定向,即可正常工作:head -c 1G / dev / urandom> myfile
–agc
20年8月28日在12:41
#2 楼
假设伪随机数据已足够,则dd if=/dev/urandom of=target-file bs=1M count=1000
将满足您的要求。if是输入文件,
of
是输出文件,bs
是“块大小” “-我使用GNU扩展名来更方便地设置大小。 (如果dd
没有GNU扩展,也可以使用1048576。)count
是要从if
读取并写入of
的块数。/dev/urandom
比/dev/random
更好,因为在Linux中,它将耗尽强大的伪随机数据,而不是在耗尽真正的随机数据时阻塞。您可能还想看看http://www.random.org/作为另一种途径获取一些随机数据而不必自己生成。
评论
注意-并非每个标准dd型号都提供1M之类的设备规格。如果您的dd版本受到影响,请使用bs = 1048576。
–克里斯唐(Chris Down)
2012年7月7日在0:39
示例命令将创建一个包含1,000,000个块的文件,每个块的大小为1 MB。那大约是1 TB(1M x 1MB),而不是1 GB(也就是1K x 1MB)。顺便说一句,对于给定的输出数据量,增加块大小并减少块数往往会产生更好的吞吐量。
–用户
2012年3月7日上午10:45
GB与GiB。对于dd 1M == 1024 * 1024,如果要使用1 GB或1M,请使用1MB并计数= 1000;如果要1 GiB,请使用count = 1024。或使用1GB或1G并计数= 1。
– 12431234123412341234123
20年9月7日在16:50
#3 楼
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
用于生成5MB随机字符数据。如果需要其他大小,请更改head的
-c
值,更改输出文件名,执行并等待执行完成。评论
使用base64可以提高召回率(从62/256增加到62/64)。
– iBug
20 Mar 12 '20 at 4:26
#4 楼
openssl提供了将/dev/random/
和/或/dev/urandom
与出色的加密安全伪随机数生成器(CSPRNG)结合使用的替代方法。您甚至可以在极少数情况下选择所需的算法和加密方法:size=$( echo 1G | numfmt --from=iec ) # 1 G ==> 1073741824
openssl rand -out myfile "$size"
如果需要base64:
openssl rand -base64 -out myfile "$size"
有关详细信息,请阅读
man rand
。#5 楼
该解决方案不使用随机变量,而是使用手册页来创建可观数据。但是,这不能保证最大大小,因此我们可能必须遍历几个cat
s才能获得所需的大小,man curl > /tmp/man-curl
,或者如果所需的大小较大,请
for i in {1..10}; do man curl >> /tmp/man-curl; done
评论
使用vi -w randomfile打开vi并询问从未见过vi的人退出该程序。 ;)刚从Facebook发表来喜欢上面的评论! facebook.com/ProgrammersCreateLife/photos/a.241809332534619/…