↓ 跳过正文

Linux下快速创建大文件的4种方法总结

正能量 2 分钟阅读 更新于 2026-10-18

比较 Linux 创建大文件时的占用空间与写入成本,帮助理解测试文件的用途。

Linux 系统:原站配图。

由于经常在linux上进程操作,需要测试服务器的上行带宽,除了主动上传,还可以被动下载,故,需要提供一个大文件来提供给外部下载,为此找到以下几种方式生成大文件。

使用 dd 命令
#

dd 命令用于复制和转换文件,它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。同时也可以测试磁盘的写入速度。

dd if=/dev/zero of=znl.img bs=2G count=1

使用 truncate 命令
#

该命令缩减或扩充指定文件的大小为指定值,参数所指定的文件如果不存在,那么该命令会创建这个文件。

truncate -s 1G znl.img

使用 fallocate 命令
#

fallocate命令可能是Linux中可以用来创建文件的鲜为人知的命令之一。fallocate用于将块预分配给文件。对于支持fallocate系统调用的文件系统,这可以通过分配块并将其标记为未初始化来快速完成,因此不需要对数据块进行I / O操作。 fallocate 命令是我比较推荐的创建大文件的方法,因为它创建大文件的速度是最快的。

fallocate -l 1G znl.img

补充阅读
#

比较 Linux 创建大文件时的占用空间与写入成本,帮助理解测试文件的用途。

如何理解与使用
#

不同命令可能真正写入数据,也可能只预分配或创建稀疏文件;表面文件大小相同,不代表磁盘实际占用相同。

验证与边界
#

创建后分别核对逻辑大小和磁盘占用,再选择是否适合你的空间或性能测试。测试前确认路径和可用容量,避免在业务分区写满磁盘。