想让 df -h 显示磁盘空间真的被占用,有几种方法:
方法1: 稀疏文件 (推荐用于测试)
这种文件显示为5TB,但实际不占用空间:
创建5TB的稀疏文件
truncate -s 5T large_file.img
或使用 dd
dd if=/dev/zero of=large_file.img bs=1 count=0 seek=5T
注意: 稀疏文件用 ls -lh 会显示5TB,但 du -h 会显示实际占用的空间(很小)。df -h 不会显示空间被占用。
方法2: 真实占用磁盘空间
如果您需要 df -h 真的显示5TB被占用:
使用 dd 创建真实占用空间的文件(会很慢!)
dd if=/dev/zero of=large_file.img bs=1M count=5242880 status=progress
这将需要:
- 实际有5TB的可用空间
- 花费大量时间(可能数小时到数天)
方法3: 使用 fallocate (快速且真实占用)
在支持的文件系统上(ext4, XFS等):
快速分配5TB空间
fallocate -l 5T large_file.img
这会立即分配空间,df -h 会显示空间被占用。