SuperAPI AI 工具集

df

通用与其它

查看项目

更新于 10-15 23:48

技能介绍

用途:df 在文件系统级别报告磁盘空间使用情况,属于 coreutils,Linux 系统预装,可用 apt install coreutils 或 dnf install coreutils 安装。无持久化配置与日志,结果直接输出到终端。

主要能力与常用用法:df -h 显示可读容量;df -a 显示含零容量在内的全部文件系统;df -i 显示 inode 使用;df -h -x tmpfs -x devtmpfs 排除虚拟文件系统;df -h /var/log 查看指定路径或挂载点;df -P 输出 512 字节块的 POSIX 兼容结果;df -h --total 追加总计行;df -hT 显示文件系统类型列;df -hT -x tmpfs -x devtmpfs -x squashfs 显示类型并排除伪文件系统;按使用率降序排列(原文此处命令展示不完整);df --sync 读取前强制刷新;df -k 以 1K 块显示,便于脚本处理。

常见问题与排查:某文件系统显示 100% 但 du 合计更小,通常是已删除文件仍被进程持有,可用 lsof +L1 定位并重启或终止进程释放空间;磁盘未满却提示“No space left on device”,多为 inode 耗尽,用 df -i 确认后删除大量小文件或重建文件系统;df -h 显示 tmpfs/devtmpfs 虚增总量,用 -x 选项排除;拉取 Docker 镜像后占用跳变,涉及 overlayfs 分层,可用 docker system df 与 docker system prune 单独核算;btrfs 显示占用偏低,因其报告的是压缩与去重后的分配量,应使用 btrfs filesystem df /mount 和 btrfs filesystem usage /mount 获取准确数据;/ 分区已满但大文件在 /home 时,说明 /home 是独立文件系统,各挂载点独立报告,需检查正确挂载点。

限制:df 仅给出每个文件系统的总量,定位具体目录或文件需用 du 或 ncdu;已删除但被打开的文件不会释放块,df 仍计为已用,而 du 显示已消失;inode 耗尽与块满返回相同错误;不加 -x 时伪文件系统会出现在输出中且计入 --total,容器 overlayfs 挂载多时列表会很长;btrfs 采用写时复制,df 与 du 结果可能差异较大。参考目录含 cheatsheet.md 与 docs.md。