Linux回收站空间使用监控方法
du命令查看回收站目录大小Linux回收站的默认存储路径为用户主目录下的.local/share/Trash,其中files子目录存放实际删除的文件,info子目录存储文件元数据(如删除时间、原路径)。通过du(disk usage)命令可快速统计这两个目录的大小:
# 查看文件回收站目录总大小(人类可读格式)
du -sh ~/.local/share/Trash/files
# 查看信息回收站目录总大小
du -sh ~/.local/share/Trash/info
该命令输出结果直观,适合手动快速检查回收站占用空间。
ncdu工具进行交互式分析若需要更详细的目录结构分析和排序(如按文件大小降序排列),可使用ncdu(NCurses Disk Usage)工具。安装后运行以下命令:
# 安装ncdu(以CentOS为例)
sudo yum install ncdu
# 分析文件回收站目录
ncdu ~/.local/share/Trash/files
# 分析信息回收站目录
ncdu ~/.local/share/Trash/info
ncdu提供可视化界面,可快速定位占用空间大的文件或子目录,便于针对性清理。
通过脚本自动化监控回收站大小,当超过预设阈值时触发报警(如发送邮件或桌面通知)。示例脚本:
#!/bin/bash
# 设置回收站路径和最大允许大小(100MB)
TRASH_DIR="$HOME/.local/share/Trash/files"
MAX_SIZE=$((100*1024*1024)) # 100MB转换为字节
# 获取当前回收站大小
CURRENT_SIZE=$(du -sb "$TRASH_DIR" | awk '{print $1}')
# 检查是否超过阈值
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]; then
# 发送桌面通知(需安装notify-send)
notify-send "回收站空间警告" "回收站大小已超过${MAX_SIZE}字节,请及时清理!"
# 或发送邮件(需配置mailutils)
# echo "回收站大小已超过${MAX_SIZE}字节" | mail -s "回收站空间报警" your-email@example.com
fi
将脚本保存为monitor_trash.sh,添加执行权限后,可通过cron定时任务(如每天凌晨1点执行)定期运行:
chmod +x monitor_trash.sh
crontab -e
# 添加以下内容(每天凌晨1点执行)
0 1 * * * /path/to/monitor_trash.sh
该脚本适合需要长期监控的场景。
部分桌面环境(如GNOME、KDE)提供图形化配置项,可直接设置回收站最大容量或自动清理策略:
trash-cli或trashy等工具提供更灵活的回收站管理功能,包括查看、恢复、清空及设置容量限制(需配合脚本):
sudo apt-get install trash-cli
trash-list
trash-empty
~/.local/share/Trash/files目录大小,超过阈值时调用trash-empty清空(参考方法3)。若无需精确监控回收站,可通过df命令查看回收站所在文件系统的整体使用情况,快速判断是否因回收站占用过多导致磁盘空间不足:
# 查看所有挂载文件系统的使用情况(人类可读格式)
df -h
重点关注回收站所在分区(通常为/home或根分区/)的“Use%”列,若使用率过高,需进一步检查回收站大小。