首页/系统/Linux 运维命令速查/fallocate 预分配文件空间
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

fallocate 预分配文件空间

秒级预分配磁盘空间(不写实际数据),用于备份盘预留、测试大文件与防「写满才发现」;比 dd 快几个数量级。

Linux 运维命令速查系统更新于 2026-10-12
用途为文件预分配/释放磁盘块
语法fallocate -l 大小 文件 / fallocate -d 文件(打洞释放)
支持ext4 / xfs / btrfs 等本地文件系统

常用示例

常用示例
fallocate -l 10G /backup/reserve.img     # 预占 10G 空间
df -h /backup                            # 确认空间真被占用
fallocate -l 1G testfile; du -h testfile # du 显示 1G(非稀疏)
fallocate -d testfile                    # 释放(打洞)已分配块
要「预留空间保证能写」用 fallocate;要「占位但几乎不占空间」用 truncate(稀疏文件),两者语义相反。

易错点

  • tmpfs/NFS/部分 overlay 不支持 fallocate:报 Operation not supported 时回退 dd
  • 预分配后 du/df 立即计占用:它不是「跑马圈地不占地」的稀疏文件

数据来源与参考

  • man 1 fallocate(util-linux 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌