首页 > 运维 > linux运维 > 正文

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

P粉602998670
发布: 2025-08-08 13:30:02
原创
488人浏览过

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 使用情况

示例:

标书对比王
标书对比王

标书对比王是一款标书查重工具,支持多份投标文件两两相互比对,重复内容高亮标记,可快速定位重复内容原文所在位置,并可导出比对报告。

标书对比王58
查看详情 标书对比王
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磁盘空间 df和du命令使用对比的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号