df -h是最可靠快速判断磁盘是否将满的方式;df -i查inode耗尽问题;du与df差异大时说明存在已删未释放文件,用lsof +L1定位;lsblk理清设备与挂载点关系。

直接看 df -h 就行,这是最可靠、最快速判断磁盘是否快满的方式。其他命令(比如 du)不能替代它,因为它们统计逻辑不同,容易误判。
df -h 显示“可用空间”但实际写不进文件?检查 inode
当 df -h 显示还有几十 GB 可用,却报错 No space left on device,大概率是 inode 耗尽了。
-
df -i查所有挂载点的 inode 使用率,重点关注Use%接近 100% 的项 - 常见高 inode 消耗路径:
/var/log(尤其日志轮转失败时)、/tmp、容器镜像层目录(如/var/lib/docker/overlay2) - 快速定位某目录下小文件数量:
find /var/log -xdev -type f | wc -l,再结合find /var/log -xdev -type f | cut -d "/" -f 1-4 | sort | uniq -c | sort -nr | head -5找出嵌套最深的高频路径
du -sh /path 和 df -h 显示空间差很大?说明有已删未释放文件
du 统计的是当前文件系统上“可见文件”的实际占用;df 统计的是文件系统元数据里的真实块占用。两者差值大(比如 df 显示用了 95%,du -sh / 加起来才 60%),基本可断定存在被进程打开但已 unlink 的大文件。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 查这类文件:
lsof +L1或lsof | grep deleted - 重点关注
SIZE或SIZE/OFF列数值大的条目,例如nginx、java、rsyslogd进程持有的已删日志 - 释放方法不是删文件(已经删了),而是重启对应服务,或向其发信号(如
kill -USR1 $(pgrep rsyslog)触发日志重开)
想快速知道哪几个目录吃掉了最多空间?用 du 配合排序
du 本身不排序,必须管道组合,否则输出难读。注意别在根目录直接跑 du -sh /*,会卡死或权限报错。
- 安全高效查一级子目录:
du -sh /* 2>/dev/null | sort -hr | head -n 10 - 聚焦常用高危区:
du -sh /var /home /opt /usr/local 2>/dev/null | sort -hr - 避免符号链接干扰(比如
/usr/share/doc可能是软链到别的分区):du -shL --max-depth=1 /var/log/,-L表示跟随链接,--max-depth=1限制只看本层
分不清 /dev/sda1 和 /dev/nvme0n1p1 对应哪个挂载点?用 lsblk
物理设备名和挂载点之间没直观映射时,lsblk 是唯一能一眼理清关系的命令。
-
lsblk -f显示每个设备的FSTYPE(如ext4、xfs)和MOUNTPOINT,还能看到UUID和标签(LABEL) - 如果输出太长,加
-o NAME,FSTYPE,SIZE,MOUNTPOINT自定义字段,去掉冗余列 - 特别注意:LVM 卷(如
centos-root)或加密卷(luks-xxx)在lsblk中会以子树形式显示,别把它当成独立物理盘
真正卡住人的从来不是“怎么看”,而是看到结果后不知道该信哪个数字、下一步该查什么。df -h 是总览,df -i 防坑,lsof +L1 解“明明有空却写不了”的谜,lsblk 定位设备归属——四条命令串起来,才是闭环排查。

















