df
(disk free)和du
(disk usage)命令结果不一致的常见原因包括:
# 查找被删除但仍被进程占用的文件
lsof | grep deleted
# 然后可以重启相关进程或直接kill进程释放空间
sync
# 查看挂载情况
mount | grep <分区>
# 或使用
df -h
# 检查文件是否为稀疏文件
ls -lsh <文件名> # 第一列为实际占用空间
# 转换稀疏文件为普通文件
cp --sparse=never <源文件> <目标文件>
# 卸载文件系统后检查
umount <分区>
fsck -y <分区>
mount <分区>
# 检查inode使用情况
df -i
# 使用ncdu工具更准确分析磁盘使用
ncdu /path/to/directory
通过以上方法,通常可以解决df和du显示结果不一致的问题,并准确了解磁盘空间的实际使用情况。