Linux 新手必会的 5 个磁盘清理命令:df、du、ncdu 安全清理实战
磁盘满了,先别急着删。很多新手上来就 rm -rf,删错一个目录,服务可能直接起不来。正确顺序是先看整体,再定位大文件,最后只清理能确认的东西。下面 5 个命令,按这个顺序用就够了。
1. df -h:先看哪块盘满了
df 看的是文件系统整体用量,不是某个文件夹有多大。
df -h
df -hT
先看 Use% 和挂载点。如果根目录是 100%,再看 /var、/home 是不是单独挂载的,问题可能在某个分区上。
新手坑:只盯着根目录的数字,忽略了真正满的是 /var;磁盘还有空间也可能 inode 用完了,这时要用 df -i 看。
2. du -sh:定位哪个目录在变胖
知道哪块盘满了,再用 du 找具体目录。
du -sh /var/*
du -sh /* 2>/dev/null | sort -rh | head -10
du -sh 只给汇总数字,适合一步步向下钻:先看一级目录,再进最大的那个继续查。
新手坑:du 不加 -s 会输出海量结果;/proc 和 /sys 是虚拟文件系统,不要动。
3. ncdu:交互式找大文件
ncdu 把目录树按大小排好,上下键移动,回车进子目录,按 d 删除选中文件。
ncdu /var/log
清理日志和缓存时尤其直观,一眼就能看到是谁占了几个 G。
新手坑:系统可能没装 ncdu,要先安装;不要一上来就 ncdu / 全盘扫描,又慢又容易误删,先缩小到 /var/log 这类目录,删除前再看一眼文件名。
4. journalctl --vacuum-size:安全清理系统日志
systemd 日志越攒越多,用 journalctl 自带的清理方式,比直接删文件安全。
journalctl --disk-usage
journalctl --vacuum-size=200M
也可以用 --vacuum-time=7d,只保留最近 7 天的日志。
新手坑:不要直接删 /var/log/journal 下的文件,容易删到正在写入的日志;留最近几天的日志,出了问题还能查。
5. apt-get clean:清理软件包缓存
装软件留下的安装包缓存,占的空间经常被忽略。
sudo apt-get clean
sudo apt-get autoremove
Debian/Ubuntu 用上面两条,CentOS/RHEL 系用 dnf clean all。clean 只清缓存,一般很安全。
新手坑:autoremove 会删不再需要的依赖包,执行前先看清单,不要加 -y 盲目确认;生产机先在测试机上试一遍。
收尾:删完记得验证
先 df -h 确认空间真的回来了,再看一眼服务日志,确认应用还能正常写日志。建议留出 20% 左右的余量,并设一个用量告警,下次到 80% 就处理,别等到 100% 才救火。
- 点赞
- 收藏
- 关注作者
评论(0)