如果你的Linux服务器或系统的磁盘空间不够用了,你可以按照以下简单的方法来释放空间和清理。
在本指南中,您将学习如何清理缓存、旧内核、删除未使用的软件包、日志。
✅Ubuntu 清理系统垃圾

全面清理内容包括:
| 类型 | 说明 |
|---|---|
| APT 缓存 | 清理软件包缓存、孤立包等 |
| 未使用的依赖包 | 自动移除 apt-get autoremove |
| 旧配置文件 | 使用 --purge 清理配置 |
| 旧内核 | 删除不再使用的旧内核(保留当前) |
| Snap 旧版本 | 删除被禁用的 Snap 应用旧版本 |
| 系统日志缓存 | 清理 /var/log 中的大文件和过期日志 |
| 临时文件 | 清理 /tmp、/var/tmp |
| 废弃包 & 缺失包 | 使用 deborphan(可选)检测孤立包 |
| 用户缓存 | 清理 ~/.cache 下的缓存内容 |
⏭️一键清理
一键清理 Ubuntu 系统垃圾的完整脚本(推荐使用)
保存为:clean_ubuntu.sh
#!/bin/bash
set -euo pipefail
echo "🧼 Ubuntu 系统全面清理开始..."
### 1. 更新并升级系统 ###
echo "🔄 更新软件包索引和系统..."
sudo apt update && sudo apt full-upgrade -y
### 2. 清理 APT 缓存 ###
echo "🧹 清理 APT 缓存..."
sudo apt-get clean
sudo apt-get autoclean
### 3. 自动移除未使用依赖和配置 ###
echo "🧼 自动删除无用软件包及其配置文件..."
sudo apt-get autoremove --purge -y
### 4. 删除残留配置文件 ###
echo "🧩 清除残留未安装包的配置文件..."
dpkg -l | grep '^rc' | awk '{print $2}' | xargs -r sudo dpkg --purge
### 5. 清理 Snap 禁用的旧版本 ###
echo "📦 清理已禁用的 Snap 旧版本..."
LANG=en_US.UTF-8
snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
echo "🗑️ 删除 $snapname 的旧版本 revision $revision ..."
sudo snap remove "$snapname" --revision="$revision"
done
### 6. 清理用户缓存 ###
echo "🗃️ 清理当前用户缓存目录 ~/.cache ..."
rm -rf ~/.cache/*
### 7. 清理系统临时文件 ###
echo "🧊 清理 /tmp 和 /var/tmp 临时文件..."
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
### 8. 清理 journal 日志 ###
echo "🧾 清理 systemd 日志(保留最近7天)..."
sudo journalctl --vacuum-time=7d
### 9. 清理已安装语言包中未使用的语言 ###
echo "🌐 清理未使用的语言包..."
sudo apt-get install -y localepurge
sudo localepurge
### 10. 可选:清理孤立内核(需谨慎)###
echo "🧬 检查是否有旧内核可清理(可选操作)..."
sudo apt --purge autoremove
echo "✅ Ubuntu 系统垃圾清理完成!建议重启以释放内核资源(如有内核更新)。"
🔒 安全说明
- 日志仅删除 7 天以上的(可调)
- Snap 清理只删除“已禁用”的旧版本
- 内核清理不会移除当前使用的版本
- 使用 localepurge 清除不需要的语言包(需手动选择保留语言)
🚀 使用方式
1、保存脚本:
nano clean_ubuntu.sh
2、赋予执行权限:
chmod +x clean_ubuntu.sh
3、执行脚本:
./clean_ubuntu.sh
⏭️ 一键清理-增强版本
你也可以告诉我是否希望清理以下内容:
-
清理
.thumbnails、浏览器缓存 -
删除孤立
.desktop文件 -
清理 docker、flatpak 缓存
-
定期计划任务(自动每月清理)
🚀 增强版清理脚本:clean_ubuntu_enhanced.sh
#!/bin/bash
set -euo pipefail
echo "🧼 [1] 更新系统..."
sudo apt update && sudo apt full-upgrade -y
echo "🧹 [2] 清理 APT 缓存..."
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove --purge -y
echo "🧩 [3] 删除残留配置..."
dpkg -l | grep '^rc' | awk '{print $2}' | xargs -r sudo dpkg --purge
echo "📦 [4] 清理 Snap 被禁用版本..."
LANG=en_US.UTF-8
snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
echo "🗑️ 删除 $snapname 的旧版本 revision $revision ..."
sudo snap remove "$snapname" --revision="$revision"
done
echo "📁 [5] 清理用户缓存 ~/.cache 和缩略图..."
rm -rf ~/.cache/*
rm -rf ~/.thumbnails/*
echo "🌍 [6] 清理浏览器缓存..."
rm -rf ~/.mozilla/firefox/*.default*/cache2/*
rm -rf ~/.cache/mozilla/*
rm -rf ~/.cache/google-chrome/*
rm -rf ~/.cache/chromium/*
echo "🧊 [7] 清理系统临时目录..."
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
echo "🧾 [8] 清理日志(保留 7 天)..."
sudo journalctl --vacuum-time=7d
echo "📚 [9] 清理未使用的语言包..."
sudo apt-get install -y localepurge
sudo localepurge
echo "📦 [10] 清理 Flatpak 缓存(如使用)..."
flatpak uninstall --unused -y || true
sudo rm -rf /var/tmp/flatpak-cache*
sudo rm -rf ~/.var/app/*/cache/*
echo "🐳 [11] 清理 Docker(镜像、容器、网络、挂载卷)..."
docker system prune -af --volumes || echo "⚠️ Docker 未安装或未运行,跳过"
echo "✅ 清理完成!系统状态良好。"
🕑 添加计划任务(每月自动清理)
你可以让这个脚本每月自动运行一次。以下命令将设置每月 1 号执行该脚本。
第一步:保存脚本
保存路径建议为 /usr/local/bin/clean_ubuntu_enhanced.sh:
sudo mv clean_ubuntu_enhanced.sh /usr/local/bin/
sudo chmod +x /usr/local/bin/clean_ubuntu_enhanced.sh
第二步:添加 cron 定时任务
(crontab -l 2>/dev/null; echo "0 2 1 * * /usr/local/bin/clean_ubuntu_enhanced.sh >> ~/clean_log.txt 2>&1") | crontab -
每月 1 号凌晨 2 点执行,并把日志写入 ~/clean_log.txt
📌 说明
- 请确保你不在使用重要的 Snap / Docker / Flatpak 容器时再运行脚本
- docker system prune -af –volumes 会清除未使用的镜像、容器、网络和挂载卷,慎用
- 对 Flatpak 无害,无用数据会被移除
✅CentOS7 清理系统垃圾
适用于 CentOS 7/8/Stream、RHEL 等使用 yum 或 dnf 的系统。
保存为:clean_centos_enhanced.sh
#!/bin/bash
set -euo pipefail
echo "🧼 [1] 更新系统..."
if command -v dnf >/dev/null 2>&1; then
sudo dnf upgrade --refresh -y
else
sudo yum update -y
fi
echo "🧹 [2] 清理软件缓存..."
sudo dnf clean all || sudo yum clean all
sudo rm -rf /var/cache/{yum,dnf}/*
echo "🧩 [3] 自动移除未使用的软件包..."
sudo dnf autoremove -y || true
echo "📁 [4] 清理用户缓存和缩略图..."
rm -rf ~/.cache/*
rm -rf ~/.thumbnails/*
echo "🌍 [5] 清理浏览器缓存..."
rm -rf ~/.mozilla/firefox/*.default*/cache2/*
rm -rf ~/.cache/mozilla/*
rm -rf ~/.cache/google-chrome/*
rm -rf ~/.cache/chromium/*
echo "🧊 [6] 清理临时目录..."
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
echo "🧾 [7] 清理日志文件(保留最近7天)..."
sudo journalctl --vacuum-time=7d
echo "🐳 [8] 清理 Docker 资源..."
docker system prune -af --volumes || echo "⚠️ Docker 未安装或未运行,跳过"
echo "✅ CentOS 系统清理完成!"
✅ Debian 增强版清理脚本
适用于纯 Debian(非 Ubuntu)系统,比如 Debian 10/11/12。
保存为:clean_debian_enhanced.sh
#!/bin/bash
set -euo pipefail
echo "🧼 [1] 更新系统..."
sudo apt update && sudo apt full-upgrade -y
echo "🧹 [2] 清理软件包缓存..."
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove --purge -y
echo "🧩 [3] 清除残留配置文件..."
dpkg -l | grep '^rc' | awk '{print $2}' | xargs -r sudo dpkg --purge
echo "📁 [4] 清理用户缓存和缩略图..."
rm -rf ~/.cache/*
rm -rf ~/.thumbnails/*
echo "🌍 [5] 清理浏览器缓存..."
rm -rf ~/.mozilla/firefox/*.default*/cache2/*
rm -rf ~/.cache/mozilla/*
rm -rf ~/.cache/google-chrome/*
rm -rf ~/.cache/chromium/*
echo "🧊 [6] 清理临时目录..."
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
echo "🧾 [7] 清理日志文件(保留最近7天)..."
sudo journalctl --vacuum-time=7d
echo "📚 [8] 清理未使用语言(如已启用 localepurge)..."
if command -v localepurge >/dev/null 2>&1; then
sudo localepurge
else
echo "localepurge 未安装,跳过语言清理。"
fi
echo "🐳 [9] 清理 Docker 资源..."
docker system prune -af --volumes || echo "⚠️ Docker 未安装或未运行,跳过"
echo "✅ Debian 系统清理完成!"
🕑 自动化建议(适用于两者)
添加每月自动执行计划任务:
(crontab -l 2>/dev/null; echo "0 3 1 * * /path/to/script.sh >> ~/clean_log.txt 2>&1") | crontab -
(将 /path/to/script.sh 替换为脚本路径)
📌 说明
- CentOS 使用 yum/dnf,Debian 使用 apt 系统
- 日志清理为 systemd 系统有效(journalctl)
- Docker 清理全系统未使用资源(可选,慎用)
- 建议根据实际用途在服务器上保留必要缓存
© 版权声明
予人以享,不负所创;转载留链,致敬原创
底线,心之尺,言之界









私信站长
暂无评论内容