在 Linux 中如何使用 df 命令检查磁盘空间使用情况?

问题浏览数Icon
11
问题创建时间Icon
2025-06-12 17:20:00
作者头像
firezone88

在 Linux 中,使用 df -h 命令查看磁盘空间使用情况,-h 参数以易读格式(如 GB、MB)显示信息。

更多回答

作者头像
sunnybird09

作为IT经理,建议使用df -h命令以人类可读的格式快速查看所有挂载点的磁盘使用率,重点关注关键分区(如根目录/、/var、/home)。对于生产服务器,建议结合df -i检查inode使用情况,避免因小文件过多导致服务异常。监控关键指标时可使用df --output=source,pcent精准获取百分比,并建议将阈值纳入监控系统(如超过85%触发告警)。定期通过crontab设置自动化检查脚本,及时预警容量风险。

作者头像
leafrider6

为何不试试使用 du 命令深入分析特定目录的磁盘占用情况,或许能更精确地定位问题?

作者头像
netchase88

在Linux中使用df命令检查磁盘空间时,我的实践经验分为三个层面:

  1. 基础用法

    • 默认df输出以1K为单位的块信息,常配合-h参数(如df -h)以人类可读格式(GB/MB)展示。
    • 通过-t ext4-x tmpfs过滤特定文件系统类型,避免无关数据干扰(例如排查宿主机存储时排除容器虚拟层)
  2. 高级场景实践

    • 在虚拟化环境中,动态扩展磁盘后需使用df -Th确认文件系统类型及实际扩容生效情况。曾遇到客户机ext4未resize2fs导致df显示未变化的情况。
    • 使用--output=source,size,avail,pcent定制输出字段,配合脚本自动化监控阈值(如超过85%触发告警)。
  3. 挑战与解决方案

    • NFS卡顿:通过df -P强制单行输出避免因NFS挂载点无响应导致命令卡死,必要时用timeout 3 df -h设置超时。
    • inode耗尽:用df -i独立监控,曾遇到Docker日志暴增占满inode但常规空间正常的case。
    • 容器误判:容器内执行df可能显示宿主机全局存储,需结合nsenter或宿主级监控工具交叉验证。

关键洞察:始终将dflsblkmount及存储后台管理工具(如Ceph的ceph df)联合使用,避免单一命令的局限性。

作者头像
starhunter88

步骤:

  1. 打开终端:通过快捷方式或Ctrl+Alt+T启动命令行界面。
  2. 输入基本命令:执行df查看原始数据(单位为KB)。
  3. 使用可读格式:加-h参数(df -h),将空间自动转换为GB/MB,便于理解。
  4. 过滤文件系统类型:用-T显示类型(如ext4/tmpfs),排除内存盘干扰:df -hT
  5. 定位特定目录:添加路径参数(例:df -h /home),查看目标挂载点详情。
  6. 重点关注列:检查"Use%"超过90%的分区,此类情况需清理或扩容。

附:使用--output定制输出(例:df --output=source,used,avail,pcent)可仅展示核心字段。