dd命令生成文件详解

创建指定大小的文件:

dd if=/dev/zero of=test.txt bs=1M count=1000
# if=/dev/zero:输入文件(/dev/zero 是一个虚拟设备,生成无限的空字符 \0)
# of=test:输出文件(在当前目录创建名为 test.txt 的文件)
# bs=1M:每次读写 1MB 数据块(Block Size)
# count=1000:总共写入 1000 个块(即 1000 × 1MB = 1GB 数据)

# 如果要写很大的文件,可以使用pv工具限速为90M/s
dd if=/dev/zero bs=1M count=25000 | pv -L 90m | dd of=test.txt bs=1M

创建一个虚拟大文件:
如果你只想让文件系统认为存在一个超大文件,但不实际写入硬盘,可以使用 seek 参数:

dd if=/dev/zero of=test.txt bs=1M count=0 seek=100000
# if=/dev/zero:输入源(空字符流,但实际不会读取)
# of=test:输出文件名为 test.txt
# bs=1M:块大小为 1MB(仅用于计算)
# count=0:不写入任何数据块
# seek=100000: 跳过输出文件的前 100000 个块(即创建 100000 × 1MB = 100GB 的空洞文件)

创建多个小文件:
要随机生成 1 百万个 1K 的文件,可以使用以下命令:

seq 1000000 | xargs -i dd if=/dev/zero of={}.dat bs=1024 count=1
# 为每个数字创建 1 个 1KB 的文件
posted @ 2025-08-12 00:18  阿峰博客站  阅读(43)  评论(0)    收藏  举报