信息发布→ 登录 注册 退出

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

发布时间:2025-08-08

点击量:

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


一、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 目录
    查找具体哪个目录占空间多
  • 当两者结果不一致时,优先检查是否有被删除但仍在占用的文件

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

标签:# 的是  # 大文件  # 这两个  # 已用  # 最多  # 但仍  # 重启  # 满了  # 磁盘空间  # linux  # 文件系统  # 对象  # var  # 递归  # Filesystem  # 区别  # 解决方法  # ai  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!