如何查看Linux磁盘空间 df和du命令使用对比

df命令用于查看文件系统整体使用情况,显示各挂载点的总容量、已用空间和可用空间,适合快速判断哪个分区快满;2. du命令用于统计具体文件或目录的磁盘占用,可深入目录结构定位大文件或占用最多的目录;3. 两者结果不一致时,常见原因为文件被删除但仍在被进程占用,此时df显示的空间包含该“隐藏”占用,而du无法统计已删除文件;4. 解决方法为使用lsof +l1查找并终止相关进程或重启服务释放空间;5. 使用du时若遇权限问题,应使用sudo提权确保统计完整;6. 日常运维中应先用df -h查看整体情况,再用du -sh或du -h –max-depth=1定位具体占用,结合二者可高效排查磁盘空间问题。

如何查看Linux磁盘空间 df和du命令使用对比

linux系统中,查看磁盘空间使用情况是日常运维和系统管理中的基本操作。

df

du

是两个最常用的命令,虽然它们都与磁盘空间相关,但用途和输出结果有明显区别。下面详细对比这两个命令的使用方法和适用场景。


一、df 命令:查看文件系统整体使用情况

df

(disk Filesystem)命令用于显示文件系统的磁盘使用情况,包括总容量、已用空间、可用空间和挂载点等。

常用选项:

  • -h

    :以人类可读的方式显示(如 KB、MB、GB)

  • -T

    :显示文件系统类型

  • -i

    :查看 inode 使用情况

示例:

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted on /dev/sda1        50G   20G   28G  42% / tmpfs           3.2G     0  3.2G   0% /dev/shm /dev/sdb1       100G   80G   15G  85% /data

特点:

  • 显示的是整个文件系统级别的空间使用情况
  • 关注的是挂载点的总体占用
  • 不深入目录结构,适合快速查看各分区使用率
  • 常用于判断哪个分区快满了

二、du 命令:查看文件和目录的磁盘占用

du

(disk usage)命令用于统计指定文件或目录的磁盘使用情况,可以深入到具体目录查看谁占用了空间。

常用选项:

  • -h

    :人类可读格式

  • -s

    :只显示总计(不列出子目录)

  • --max-depth=N

    :限制显示的目录层级

  • -a

    :显示所有文件(包括文件和目录)

示例:

du -sh /home

输出示例:

15G    /home

查看

/var

下各子目录的使用情况:

du -h --max-depth=1 /var

输出示例:

1.2G   /var/log 8.5G   /var/lib 100M   /var/cache 9.8G   /var

特点:

  • 统计的是目录或文件的实际占用
  • 可以定位到具体哪个目录占空间最多
  • 适合排查“是谁占满了磁盘”
  • 执行速度受目录大小影响,大目录可能较慢

三、df 和 du 的关键区别对比

对比项 df 命令 du 命令
统计对象 文件系统整体 具体文件或目录
单位 按分区/挂载点显示 按目录或文件递归统计
常见用途 查看哪个分区快满了 查找大文件或占用空间的目录
是否受已删除但未释放的文件影响 是(已删除文件若被进程占用,df仍显示占用) 否(只统计实际存在的文件)
输出简洁性 简洁,适合快速查看 可详细可汇总,灵活但可能输出较多

四、常见问题与注意事项

  1. df 和 du 结果不一致?

    • 常见原因:某个大文件被删除了,但仍有进程在占用它(如日志文件被删除但服务未重启)。
    • 解决方法:查找被删除但仍被占用的文件:
      lsof +L1

      或重启相关进程释放空间。

  2. df 显示空间不足,但 du 统计总和不大?

    • 很可能是上述“已删除但未释放”的文件占着空间。
    • 此时 df 显示的已用空间包括这些“隐藏”占用,而 du 找不到这些文件,所以统计偏小。
  3. 权限问题

    • 使用
      du

      遍历目录时,若无权限访问某些子目录,会报错或统计不全。

    • 可用
      sudo

      提权查看:

      sudo du -sh /var

总结

  • df -h

    快速查看各分区使用情况,判断是否磁盘满。

  • du -sh 目录

    du -h --max-depth=1 目录

    查找具体哪个目录占空间多

  • 当两者结果不一致时,优先检查是否有被删除但仍在占用的文件

基本上就这些。掌握这两个命令的差异和配合使用,能高效解决大多数磁盘空间问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享