惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
S
Securelist
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Schneier on Security
Schneier on Security
Attack and Defense Labs
Attack and Defense Labs
Vercel News
Vercel News
腾讯CDC
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
量子位
S
Schneier on Security
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
T
Tenable Blog
PCI Perspectives
PCI Perspectives
MyScale Blog
MyScale Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
W
WeLiveSecurity
N
News | PayPal Newsroom
P
Proofpoint News Feed
O
OpenAI News
C
CERT Recently Published Vulnerability Notes
B
Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy

博客园 - xiashengwang

Rocky Linux 9 安装docker Rocky Linux 9 与Centos区别,以及软件安装dnf命令 《Linux 基础点滴》:(17)SSH 密钥生成与管理 – 免密登录的利器 Linux服务器安全登录:从入门到实践 putty 基础 《Linux 基础点滴》:(16)firewalld 防火墙管理命令 《Linux 基础点滴》:(15)用户管理 – 创建、删除、权限与 sudo 《Linux 基础点滴》:(14)定时任务 – 用 crontab 自动化 《Linux 基础点滴》:(13)文本编辑入门 – 使用 Vim 《Linux 基础点滴》:(12)tldr – 简化版命令手册 《Linux 基础点滴》:(11)系统信息与资源监控 – 掌握服务器状态 《Linux 基础点滴》:(10)压缩与打包 – tar 的艺术 《Linux 基础点滴》:(9)查找与过滤 – find, grep, 管道 《Linux 基础点滴》:(8)网络基础 – 查看 IP、连通性与端口 《Linux 基础点滴》:(7)进程管理 – 查看与控制运行中的程序 《Linux 基础点滴》:(6)文件权限与所有者 – 保护你的文件 《Linux 基础点滴》:(5)文件与目录操作 – 增删改查必会命令 《Linux 基础点滴》:(3)Linux 文件系统概览 – 一切皆文件 《Linux 基础点滴》:(2)SSH 连接与基础命令 – 从登录到第一次操作 《Linux 基础点滴》:(1)初识 Linux 大家族 – 发行版分类与选择 docker学习(7)-docker compose 文件 docker学习(11)- 容器的日志(log) docker学习(10)-利用Github Action 自动化部署 docker学习(9)-Docker Swarm + Nginx 跨机器负载均衡 docker学习(8)-从 Windows 开发到 Linux 部署 docker学习(6)-数据持久化与网络通信 学会 Git Tag,让版本管理不再混乱 docker学习(5)-Dockerfile docker学习(4)-Docker常用命令 docker学习(3)-一个简单的例子 docker学习(2)-安装 docker学习(1)-基本概念 Github 使用 Self-hosted Runner 实现服务器自动化部署 github创建分支 + Pull Request 合并 Git Rebase vs Git Merge:深入理解与实战选择 Git 系统学习教程:从零到团队协作 AI学习笔记(2)-OpenClaw安装 windbg分析dmp文件 docker desktop 和 Vmware冲突的解决办法
《Linux 基础点滴》:(4)磁盘空间查看 – df 和 du 的妙用
xiashengwang · 2026-04-20 · via 博客园 - xiashengwang

2026-04-20 17:15  xiashengwang  阅读(21)  评论()    收藏  举报

第 4 篇:磁盘空间查看 – df 和 du 的妙用

学习目标

  • 学会使用 df 查看文件系统整体磁盘使用量
  • 学会使用 du 统计目录或文件大小
  • 理解 dfdu 结果不一致的原因

核心概念

df(disk free)

查看已挂载文件系统的总容量、已用、可用、使用率。

常用选项:

  • -h:人类可读(GB, MB)
  • -i:查看 inode 使用情况(文件数量限制)
  • -T:显示文件系统类型(如 ext4, xfs)

du(disk usage)

统计指定目录或文件的实际大小。

常用选项:

  • -h:人类可读
  • -s:只显示总和
  • --max-depth=N:显示 N 层子目录的大小

区别与联系

  • df 查看分区级别(包括被删除但仍被进程占用的空间)
  • du 扫描目录树(不包括未释放的已删除文件)

df 显示已满但 du 统计很小,通常是文件被删除但进程未释放。

动手实验

实验 1:使用 df

df -h
df -i   # 观察 inode 使用率,若 100% 则无法创建新文件

实验 2:使用 du

du -sh /home           # 查看 /home 总大小
du -h --max-depth=1 /var | sort -hr | head -5  # 找出 /var 下最大的子目录

实验 3:模拟 df 和 du 差异

# 创建一个文件并占用空间
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100
# 模拟进程占用(打开文件但未关闭)
tail -f /tmp/bigfile &
# 删除文件
rm /tmp/bigfile
# 此时 df 和 du /tmp 结果不同
df -h /tmp
du -sh /tmp
# 清理:找到进程 kill
lsof | grep bigfile   # 找到 PID
kill PID

常见错误

  • du: cannot read directory:权限不足,加 sudo
  • df -h 显示 use% 100% 但无法找到大文件:用 lsof | grep deleted 找未释放的进程

思考题

  1. 为什么 df -h 显示已用 + 可用 不等于总容量?
  2. 如何找出 /var 下大于 100M 的文件?
find /var -type f -size +100M