使用 Linux 中的模式创建具有给定大小的大文件

Create a large file with a given size with a pattern in Linux

在 Linux 中,我如何创建具有给定文本或十六进制模式的大文件(如 DEADBEEFDEADBEEFDEADBEEF ....)

我知道 dd 可以用来创建大文件,但它不会写入所需的文本或十六进制模式

dd if=/dev/urandom of=/tmp/bigfile bs=blocksize count=size

dd if=/dev/zero of=/tmp/bigfile bs=blocksize count=size

Quickly create a large file on a Linux system?

How to create a file with a given size in Linux?

如果你的目的是实现一个乱码而不是随机数据。

shuf folder/* | dd of=target.txt bs=1K count=2048

获取一个 2MB 的示例文件,然后您可以将其缩短或使用不同的计数再次调用上面的命令

folder/* will contain files with your patterns

或者作为替代方案,您可以将十六进制值存储在单独的行中的单个文件中,并使用 shuf 根据您的需要打乱它们并填充它们

shuf -n 100 source.txt | dd of=target.txt bs=1K count=2048

或者您可以将其转储到 dd 中,如

dd if=source.txt of=target.txt bs=1K count=2048

Shuffle Documentation

while true ; do printf "DEADBEEF"; done | dd of=/tmp/bigfile bs=blocksize count=size iflag=fullblock