我想生成一个 1 GB 的随机文件,所以我使用了以下命令。
dd if=/dev/urandom of=output bs=1G count=1
Run Code Online (Sandbox Code Playgroud)
但是每次我启动这个命令时,我都会得到一个 32 MB 的文件:
<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
Run Code Online (Sandbox Code Playgroud)
怎么了?
编辑:
感谢本主题中的出色答案,我提供了读取 32 个 32 MB 大块的解决方案,这使得 1GB:
dd if=/dev/urandom of=output bs=32M count=32
Run Code Online (Sandbox Code Playgroud)
给出了其他解决方案,将 1 GB 直接读取到内存,然后写入磁盘。此解决方案需要大量内存,因此不推荐使用:
dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
Run Code Online (Sandbox Code Playgroud)