<p>根目录空间满需先定位再清理,盲目删除易致系统崩溃;第一步查df -h /和df -i /确认磁盘与inode是否真满;第二步用du -sh /* | sort -rh和ncdu逐层定位大目录;第三步重点清理Docker日志、系统日志、包管理缓存及已删未释放文件。</p>

根目录空间满不是“删几个文件”就能解决的事,关键在先定位、再清理。盲目操作可能让系统无法启动或服务中断。下面分三步说清怎么快速、安全地排查。
第一步:确认是不是真满了
别只看 df -h / 的 Use% —— 有两个指标必须同时查:
-
磁盘块使用率:运行
df -h /,如果 Use% ≥ 95%,说明可用空间极低 -
inode 使用率:运行
df -i /,如果 IUse% = 100%,哪怕还有几GB空间,也无法新建任何文件(常见于日志爆炸、临时文件堆积)
第二步:找出谁占了最多空间
从大范围到小范围逐层缩小目标,避免漏掉隐藏大户:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 查一级目录:
sudo du -sh /* 2>/dev/null | sort -rh | head -15,重点关注/var、/usr、/home、/tmp - 若
/var异常大,继续查:sudo du -sh /var/* 2>/dev/null | sort -rh | head -10 - 若
/var/log或/var/lib/docker突出,再深入:sudo du -sh /var/log/* 2>/dev/null | sort -rh | head -5 - 想更直观?装
ncdu:sudo ncdu / --exclude /proc --exclude /sys,交互式导航,支持键盘操作
第三步:重点盯防这几类“空间黑洞”
多数根目录爆满都源于以下四类,按优先级和风险排序:
-
Docker 日志:容器日志默认不轮转,单个
*.log文件可达数十GB。用find /var/lib/docker/containers -name "*.log" -size +100M找出,再truncate -s 0 xxx.log清空(不删文件) -
系统日志:归档日志(
.gz、.1)和 journal 日志易堆积。journalctl --disk-usage查 systemd 占用;sudo rm -f /var/log/*.gz /var/log/*.1可删旧归档 -
包管理缓存:Ubuntu/Debian 运行
sudo apt clean && sudo apt autoremove --purge;CentOS/RHEL 用sudo dnf clean all或sudo yum clean all -
已删除但未释放的文件:当
du总和远小于df显示用量时,大概率是这类“隐形占用”。运行sudo lsof +L1 2>/dev/null,找到标记为(deleted)的大文件,重启对应服务(如sudo systemctl restart rsyslog)即可释放
额外提醒:别忽略挂载点干扰
有时 du 看不到大目录,是因为某个设备挂载到了根下的空目录(比如 /data11),而该设备本身已满。可临时解挂非根分区(如 sudo umount /data11),再执行 du -sh /* 确认是否被掩盖。

















