游乐游手机版
首页/系统平台/文章详情

Linux查看磁盘空间占用详情的方法与命令

时间:2026-08-18 16:30
在 Linux 中想准确查看磁盘空间到底被什么占用了,通常要用一套高效的“组合拳”:先用 df -h 快速定位使用率高的挂载点,再借助 du -sh 逐级排查目录占用,最终锁定真正吃掉空间的大目录或大文件。这里的核心区别在于:df 读取文件系统元数据,执行速度很快,但看不到具体路径;du 会递归统计

在 Linux 中想准确查看磁盘空间到底被什么占用了,通常要用一套高效的“组合拳”:先用 df -h 快速定位使用率高的挂载点,再借助 du -sh 逐级排查目录占用,最终锁定真正吃掉空间的大目录或大文件。这里的核心区别在于:df 读取文件系统元数据,执行速度很快,但看不到具体路径;du 会递归统计目录和文件的实际占用,更适合深入分析,不过耗时也更长。把这两个命令结合起来,才是 Linux 查看具体磁盘空间占用的高效方法。

Linux怎么查看具体的磁盘空间占用

想真正定位“磁盘空间具体占在哪”,单看其中一个命令往往不够。df 负责告诉你哪个挂载点快满了,du 则进一步告诉你这个挂载点下面到底是哪个目录、哪个路径在持续占用磁盘空间。

df -h 显示整体使用率但不告诉你文件在哪

df -h 是排查 Linux 磁盘空间问题时最先要执行的命令之一。它只读取文件系统元数据,因此速度快、输出稳定,适合先看整体磁盘使用情况。不过它只能展示挂载点(例如 //home/var)的总量与已用空间,无法直接告诉你具体是哪个文件或目录占得最多。

  • 常见现象:明明看到 /dev/sda1 使用率已经达到 95%,但执行 ls -l / 又看不到明显的大文件——因为占用空间的内容很可能藏在更深层的子目录、缓存目录或日志路径中
  • 常用参数:-h(以更易读的单位显示)、-x tmpfs(排除内存类伪文件系统干扰)、--output=source,used,pcent,target(自定义输出列,避免旧版本系统字段显示错位)
  • 需要注意:部分 Linux 发行版会默认预留 5% 左右空间给 root 用户,所以即使 df 显示 100%,也不一定完全无法写入,只是普通用户通常已经不能再创建新文件了

du -sh * | sort -hr 快速定位大目录

du 才是查看“具体磁盘空间占用”的主力工具。它会递归扫描真实文件块,因此能更准确地找出哪些目录最占空间,但扫描速度取决于目录层级和文件数量,所以不建议一上来就在根目录直接执行 du -sh /

  • 更稳妥的做法:先通过 df -h 找到高占用挂载点(例如 /var),再进入对应目录执行 du -sh * | sort -hr | head -20,快速列出最占空间的前几个目录
  • 遇到权限拒绝时:可以加上 2>/dev/null 忽略报错,例如 du -sh /var/* 2>/dev/null | sort -hr
  • 关于软链接:加 -L 时会跟随符号链接并统计其真实目标大小;不加 -L 时则只计算链接文件本身大小(通常只有 4–8 字节)
  • 常见误区:du 默认统计的是磁盘块实际占用,而不是文件的逻辑大小;如果要查看逻辑大小,应使用 --apparent-size

lsblk + df 对照确认物理设备与挂载点关系

如果 df 显示某个挂载点已经接近爆满,但你在该路径下用 du 却找不到对应的大目录,那么很可能不是统计错了,而是出现了挂载覆盖(mount overlay)、设备挂载异常,或者旧设备未正确卸载等问题。

  • 执行 lsblk -f 查看磁盘设备树,确认类似 /dev/sdb1 这样的分区是否真的挂载到了 /data,还是被其他分区或卷错误覆盖
  • 排查隐藏挂载时:findmnt /path 往往比 df 更精确,可以发现 bind mount、subvolume(如 btrfs)等特殊挂载关系
  • 尤其要注意:df 显示的 Use% 是基于文件系统块数计算,而 du 统计的是实际已分配块;如果系统中存在大量小文件(小于 1KB),那么 du 汇总出来的结果通常会明显小于 df 的已用值,因为每个小文件至少都会占用一个块

df -i 查 inode 耗尽这种“空间没满却写不了”的情况

有时候磁盘剩余空间看起来还很多,但系统仍然无法创建新文件,这种情况大概率不是磁盘块耗尽,而是 inode 被用光了。在 Linux 系统中,每个文件和目录都会占用一个 inode,和文件本身大小没有直接关系。

  • 可执行 df -i 查看 inode 使用情况,重点关注 IUse% 列;如果超过 95%,通常就需要立即处理
  • 常见原因包括:邮件队列堆积、Web 服务临时文件过多、容器镜像层产生大量碎片文件、日志轮转后留下海量小文件
  • 清理思路示例:find /var/spool/postfix -type f -mtime +30 -delete(清理旧邮件文件)、journalctl --vacuum-time=2weeks(压缩并清理旧日志)
  • 要特别明确:du 无法反映 inode 占用情况,因此排查“磁盘没满却不能写入”时,df -i 才是最可靠的判断依据

实际运维中,最棘手的往往不是命令怎么用,而是为什么 dfdu 的结果对不上。这时就要进一步排查:是否存在挂载异常,是否有“已删除但进程仍占用”的文件(可用 lsof +L1 检查),或者文件系统本身是否出现损坏(可结合 e2fsck 检测)。在没有弄清楚磁盘空间究竟被谁占住之前,不要急着盲目删文件;先确认占用来源,才是解决 Linux 磁盘空间不足问题的正确方式。

来源:https://www.php.cn/faq/2956845.html
上一篇苹果电脑录屏模糊不清晰的调整方法与清晰度设置 下一篇Mac录屏与网页滚动长截图录制方法教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。