Gil*_*il' 277
在大多数 unice 上:
head -c 1G </dev/urandom >myfile
Run Code Online (Sandbox Code Playgroud)
如果您head不理解G后缀,您可以以字节为单位指定大小:
head -c 1073741824 </dev/urandom >myfile
Run Code Online (Sandbox Code Playgroud)
如果您head不理解该-c选项(它很常见,但不是 POSIX;您可能有 OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
Run Code Online (Sandbox Code Playgroud)
不要/dev/random在 Linux 上使用,使用/dev/urandom.
Dan*_*man 47
假设伪随机数据足够,dd if=/dev/urandom of=target-file bs=1M count=1000会做你想做的。
dd(1)将从输入文件中读取数据块并将它们写入输出文件。命令行语言有点古怪,但它是值得掌握基础知识的真正有用的工具之一。
在这种情况下if是输入文件,of是输出文件,bs是“块大小” - 我使用 GNU 扩展来更方便地设置大小。(如果您dd没有 GNU 扩展,您也可以使用 1048576。) count是要读取if和写入的块数of。
/dev/urandom是一个更好的选择,/dev/random因为在 Linux 上,当真正的随机数据耗尽时,它将回退到强伪随机数据而不是阻塞。
您可能还想将http://www.random.org/视为获取一些随机数据而无需自己生成的另一种途径。
小智 11
openssl 提供了使用/dev/random/和/或/dev/urandom使用出色的加密安全伪随机数生成器 (CSPRNG)的替代方案。您甚至可以在极少数需要的情况下选择算法和加密方法:
size=$( echo 1G | numfmt --from=iec ) # 1 G ==> 1073741824
openssl rand -out myfile "$size"
Run Code Online (Sandbox Code Playgroud)
如果你需要base64:
openssl rand -base64 -out myfile "$size"
Run Code Online (Sandbox Code Playgroud)
阅读man rand详情。
小智 6
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Run Code Online (Sandbox Code Playgroud)
用它来生成 5MB 随机字符数据。如果需要不同的大小,请更改-chead的值,更改outfile名称,执行并等待执行完成。