温馨提示×

linux怎么清理磁盘空间

小樊
40
2026-07-18 08:41:38
栏目: 云计算

在 Linux 系统中清理磁盘空间,可以按从安全到深入的顺序来做。下面给你一套常用且实用的清理方案,涵盖命令、目录说明和注意事项。


一、先查看磁盘使用情况

df -h

查看哪个分区快满了。

再看目录占用情况

du -h --max-depth=1 / | sort -hr

二、最常见、最安全的清理方式

1️⃣ 清理包管理器缓存(强烈推荐)

Ubuntu / Debian

sudo apt clean
sudo apt autoclean
sudo apt autoremove

CentOS / Rocky / Alma

sudo yum clean all
# 或
sudo dnf clean all

2️⃣ 清理日志文件(journalctl)

sudo journalctl --vacuum-time=7d

保留最近 7 天日志(可改成 3d / 14d)


3️⃣ 删除旧内核(Ubuntu 常见)

⚠️ 至少保留一个正在用的内核

uname -r        # 查看当前内核
dpkg --list | grep linux-image
sudo apt remove linux-image-xxx

三、查找大文件(非常有用)

查找大于 500MB 的文件

find / -xdev -type f -size +500M 2>/dev/null

查找大于 1GB 的文件

find / -xdev -type f -size +1G 2>/dev/null

四、清理用户级垃圾

清理缓存目录

rm -rf ~/.cache/*

清理 Docker(如果你在用)

docker system df
docker system prune -a

⚠️ 会删除未使用的镜像、容器和卷


五、清理 /tmp 和 /var

清理临时文件

sudo rm -rf /tmp/*

清理 /var 下的大文件

常见位置:

/var/log
/var/cache
/var/tmp

查看:

du -sh /var/*

六、查找被删除但仍占空间的文件(高级)

lsof +L1

如果看到大文件:

kill -9 PID

七、常见“隐形空间杀手”

原因 解决
Docker 镜像 docker system prune
日志文件 journalctl / /var/log
包缓存 apt clean / yum clean
被删除但未释放 lsof +L1
快照(LVM / Btrfs) 删除旧快照

八、一键简单清理脚本(安全版)

#!/bin/bash
sudo apt clean
sudo apt autoremove -y
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/*

九、如果你愿意,我可以帮你:

  • ✅ 针对 Ubuntu / CentOS / Arch 精确优化
  • ✅ 根据你 df -h 的结果给出精准清理方案
  • ✅ 分析是不是 Docker / MySQL / Java 占满磁盘

你可以直接把下面命令的输出贴出来:

df -h
du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20

0