如何找出/dev/sda3中占用空间的目录并清理磁盘空间?
如何找出/dev/sda3中占用空间的目录并清理磁盘空间?
别担心,我给你一步步拆解怎么排查那些偷偷占空间的地方,再教你安全清理的方法:
一、先找出大目录——用du命令逐层排查
这是最常用的命令,普通用户可能没权限看系统目录,记得加sudo:
- 先看根目录下所有一级目录的大小:
解释下:sudo du -h --max-depth=1 /-h是让大小显示成人类能看懂的GB/MB格式,--max-depth=1只显示第一层目录,不会一下子输出一堆子目录内容。 - 看到哪个目录特别大(比如
/var、/boot这种),就钻进去继续查:
比如发现/var占了几十GB,就跑:
这样一层层找,很快就能定位到占用空间的罪魁祸首。sudo du -h --max-depth=1 /var
二、更直观的交互式工具——ncdu
如果觉得命令行输出太乱,可以装个交互式的工具ncdu,操作起来更方便:
- 先安装(根据你的系统选命令):
# Debian/Ubuntu系 sudo apt install ncdu # RHEL/CentOS系 sudo yum install ncdu - 运行后直接扫描根目录:
它会先扫描所有文件大小,然后用界面展示,你可以用方向键导航,按ncdu /d直接删除没用的文件,非常直观。
三、常见的空间“大户”及清理方法
根据你的情况,自己的目录才4GB,大概率是系统相关目录在占空间,重点看这些地方:
- /var/log(日志文件):系统和程序的日志会越积越大,尤其是报错日志。可以手动删除旧日志(比如后缀是
.gz的归档日志),或者用sudo journalctl --vacuum-size=1G限制系统日志大小,避免无限增长。 - /var/cache(缓存文件):比如APT包管理的缓存,跑
sudo apt clean就能删掉已经下载的旧安装包;如果用了浏览器,缓存可能在你自己的目录,但如果是系统级缓存也可以清理。 - /boot(旧内核):系统更新后旧内核会留在/boot里,占不少空间。Ubuntu可以跑
sudo apt autoremove --purge自动删除没用的旧内核;其他系统可以手动删除对应内核文件(注意别删正在用的!)。 - /tmp(临时文件):很多程序会在这里存临时文件,有些系统重启会自动清理,但如果很久没重启,可以跑
sudo rm -rf /tmp/*(放心,正在用的文件删不掉)。 - Docker相关(如果用了Docker):/var/lib/docker里的镜像、容器、卷特别占空间,跑
sudo docker system prune -a可以清理没用的镜像和容器(注意会删掉未使用的资源,确认后再执行)。
四、注意事项!别踩坑
- 绝对不要随便删
/bin、/sbin、/etc这些核心系统目录的文件,删错了系统直接崩! - 删除文件前先确认没用了,重要文件可以先备份到U盘或者其他磁盘。
- 如果发现
df显示的已用空间和du查出来的不一样,可能是有些文件被删除但还被进程占用,跑sudo lsof | grep deleted找到这些进程,重启进程或者系统就能释放空间。
备注:内容来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

