服务公告
Linux 清理大文件:du 与 ncdu 定位占盘元凶
发布时间:2026-10-13 14:37
## 适用场景 磁盘使用率告警响起,或者 df 显示快满,但心里没数是什么占了空间。大文件清理的第一步不是删,而是定位:空间去哪了、属于谁、能不能删。du 是命令行标准答案,ncdu 是它的交互增强版,两者按目录逐级往下钻,把占盘元凶揪出来。顺云控制台能看到磁盘总量曲线,曲线只告诉你"什么时候涨的",谁占的要靠这两个工具。清理目标通常是四类可回收空间:日志、缓存、临时文件、过期备份,它们占据绝大多数案例。 ## 两级目录往下钻 从根开始一层层看,避免一次扫全盘等半天: ```bash du -h --max-depth=1 / 2>/dev/null | sort -rh | head ``` 输出按体积排序的第一层目录,锁定最大嫌疑后再进入它执行同款命令,两三轮就能定位到具体目录与文件。ncdu 把这个过程变成全屏交互:方向键进出目录,实时排序,d 键删除,可视化效率高得多: ```bash ncdu /var ``` 两大嫌疑先查:日志目录的膨胀与缓存堆积,多半在 /var/log 与各类应用缓存路径;其次是备份文件与上传目录的无序增长。 ## 删除前确认 找到目标别急着 rm,三个确认:文件是什么,日志用 tail 看一眼内容与最后写入时间;有没有进程正打开着它,lsof 加文件名查,被打开的日志删了空间也不会释放,还断了进程的写入现场;删除影响谁,确认不是数据库数据文件、不是还没传输完的中转包。名字疑似数据文件的先停手核对,误删数据库文件是最惨的一类事故。确认后正常删除;正在被写的日志用 truncate 清空内容保留文件,比 rm 更安全。删除后 df 立刻核对,空间没回来就查已删除仍占用的句柄。 ## 预防建议 清理是被动的,机制才是主动:日志全部交给 logrotate 管理轮转上限;备份按保留策略自动过期;上传与缓存目录配容量监控,业务侧约定配额,无序增长在源头约束。在顺云的云服务器上给磁盘使用率设两级告警,七成预警、八成动手,留足处置窗口,就不会出现半夜满盘服务中断的窘境。下一篇: 数据导出指引发布