Ubuntu 命令行系统清理实操指南
一 准备与定位大文件
df -hsudo du -sh /var/cache/aptsudo find / -type f -exec du -h {} \; 2>/dev/null | sort -hr | head -20二 APT 与包管理清理
sudo apt cleansudo apt autocleansudo apt autoremove --purgedpkg -l | grep ^rc | awk '{print $2}' | xargs sudo dpkg -Psudo apt install deborphansudo deborphan | xargs sudo apt-get -y remove --purgesudo aptitude clean && sudo aptitude autoclean。三 日志 临时文件 与缩略图
sudo journalctl --vacuum-size=100Msudo journalctl --vacuum-time=3ddu -sh /var/log/*sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;sudo rm -rf /tmp/*sudo tmpwatch --empty /tmprm -rf ~/.cache/thumbnails/*rm -rf ~/.cache/mozilla/firefox/*rm -rf ~/.cache/google-chrome/*find / -name core -print -exec rm -f {} \; 2>/dev/null。四 旧内核 与 Snap Flatpak 清理
uname -rdpkg --list | grep linux-imagesudo apt purge linux-image-<version>-genericuname -r 更旧的版本,避免误删正在使用的内核。snap list --allsudo snap remove --revision=<rev> <snap-name>flatpak uninstall --unusedflatpak repair。五 一键脚本 与 注意事项
#!/usr/bin/env bash
set -e
echo "==> 清理 APT 缓存"
sudo apt clean && sudo apt autoclean
echo "==> 移除无用依赖与旧配置"
sudo apt autoremove --purge
dpkg -l | grep ^rc | awk '{print $2}' | xargs -r sudo dpkg -P
echo "==> 清理日志"
sudo journalctl --vacuum-size=100M
sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
echo "==> 清理临时与缩略图"
sudo rm -rf /tmp/*
rm -rf ~/.cache/thumbnails/*
echo "==> 清理浏览器缓存(示例路径)"
rm -rf ~/.cache/mozilla/firefox/*
rm -rf ~/.cache/google-chrome/*
echo "==> 清理旧内核(保留当前)"
CURRENT=$(uname -r)
for img in $(dpkg --list | grep linux-image | awk '{print $2}' | grep -v "$CURRENT"); do
sudo apt purge -y "$img" || true
done
echo "==> 清理 Snap 旧修订"
snap list --all | awk '/disabled/{print $1, $3}' | while read snap rev; do
sudo snap remove --revision="$rev" "$snap" || true
done
echo "==> 清理 Flatpak 未使用"
flatpak uninstall --unused || true
flatpak repair || true
echo "==> 完成,建议重启系统"
journalctl --vacuum-* 而非粗暴删除整个目录。rm -rf,必要时先 ls 或 du 确认目标路径与内容。