macOS用mkfile -n快速生成预分配空文件,Linux/macOS通用dd可全零填充或稀疏分配,truncate适合已有文件微调大小;三者均无需下载或复制,高效安全。

需要快速生成一个50MB或2GB的空白文件用于上传测试、磁盘压力验证或软件兼容性检查,又不想下载大文件或复制现有内容——终端命令是最直接可控的方式。
用mkfile创建指定大小的空文件
mkfile是macOS原生命令,专为快速生成预分配大小的空文件设计,不写入实际数据,执行极快。
打开终端,输入:mkfile -n 50m ~/Desktop/test50mb.bin
这条命令会在桌面生成一个严格50MB(50×1024×1024字节)的test50mb.bin文件。-n参数确保不填充零字节,仅预分配空间,所以1GB文件瞬间完成,不卡顿、不占CPU。
若要创建带单位的其他尺寸,可替换m为k(千字节)、g(GB)或b(字节),例如:mkfile -n 2g ~/Downloads/large-test.img。
⚠️注意:mkfile仅在macOS可用,迁移到Linux服务器时会报command not found。
用dd命令生成跨平台兼容的大文件
dd适用于所有Unix-like系统,能精确控制写入内容和位置,适合需要全零填充或模拟真实写入行为的场景。
方法一:按块数生成(推荐用于中小文件)
输入:dd if=/dev/zero of=~/Desktop/100mb-dd.img bs=1m count=100
这会从/dev/zero读取100次、每次1MB的零字节流,写入目标文件。最终大小严格等于100MB,且文件内容全为0x00——某些加密或校验工具会依赖此特性。
方法二:跳过写入,仅预分配(类mkfile效果)
输入:dd if=/dev/zero of=~/Desktop/3g-sparse.img bs=1g count=0 seek=3
seek=3表示从第3GB偏移处开始写(实际不写),dd自动创建稀疏文件。结果是看似3GB、实际占用磁盘空间几乎为0的文件,适合测试文件系统对超大文件的元数据处理能力。
⚠️重要提醒:【of=后面路径务必确认正确,写错路径可能覆盖重要文件】,尤其避免of=/dev/diskX这类设备路径。
用touch配合truncate实现轻量微调
当已有小文件但需临时拉伸到特定大小(比如把1KB日志模板扩成10MB占位符),touch本身不能改大小,需搭配truncate。
第一步:用touch建基础文件 → touch ~/tmp/placeholder.log
第二步:用truncate精准扩容 → truncate -s 10485760 ~/tmp/placeholder.log
这里10485760 = 10MB(10×1024×1024),truncate直接修改文件长度,不读写内容,比dd更快更安静。如果目标文件已存在且非空,该操作会截断或扩展,原有开头数据保留。
这一步操作起来很简单,直接把文件拖进去就行。

















