Ubuntu 回收站与磁盘空间监控指南
一 核心概念
二 快速检查回收站占用
df -h
du -sh ~/.local/share/Trash/files
du -sh ~/.local/share/Trash/info
sudo apt install ncdu
ncdu ~/.local/share/Trash
以上方法可快速判断回收站是否“吃”掉了大量空间,并精确定位到具体目录与文件。
三 持续监控与告警
ncdu 或 du 逐级查看大目录,确认是否回收站或其他路径(如日志、缓存)导致。sudo apt install iotop
sudo iotop
sudo apt install sysstat
iostat -dx
df,当可用空间低于阈值时发邮件或记录日志。例如(编辑 root 的 crontab):sudo crontab -e
# 每10分钟检查 / 分区,低于 10G 时记录到日志
*/10 * * * * df -h / | awk 'NR==2 {gsub("%",""); if($5>90) system("echo \\"$(date): / 分区已用 "$5"%, 剩余 "$4"\\" >> /var/log/disk_alert.log")}'
上述工具与方法可帮助你从“发现异常”到“定位来源”再到“持续告警”的完整闭环监控。
四 回收站占用过大时的处理
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
rm -rf 可能卡死。可用 rsync 快速清空:mkdir -p /tmp/empty
rsync --delete-before -a -H -v --progress --stats /tmp/empty/ ~/.local/share/Trash/files/
rm -rf ~/.local/share/Trash/info/*
# 清理 APT 缓存
sudo apt clean
sudo apt autoclean
# 删除不再需要的旧内核(先查版本)
dpkg -l | grep linux-image
sudo apt purge linux-image-<VERSION>
# 清理 systemd 日志(保留最近30天)
sudo journalctl --vacuum-time=30d
# 清理缩略图缓存
rm -rf ~/.cache/thumbnails/*
以上做法能在清理回收站的同时,处理常见的空间占用源头,降低再次发生的风险。