Linux回收站容量与限制机制
核心结论
不同环境的容量控制方式
图形桌面环境
命令行与工具
系统级强制限制方案
实用配置示例
#!/usr/bin/env bash
TRASH_DIR="$HOME/.local/share/Trash/files"
MAX_BYTES=$((10 * 1024 * 1024 * 1024)) # 10GB
if [ -d "$TRASH_DIR" ]; then
CURRENT=$(du -sb "$TRASH_DIR" 2>/dev/null | awk '{print $1}')
if [ -n "$CURRENT" ] && [ "$CURRENT" -gt "$MAX_BYTES" ]; then
# 删除最旧文件,保留最新的10个
find "$TRASH_DIR" -mindepth 1 -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- \
| tail -n +11 | xargs -r rm -rf
echo "$(date): 回收站超过 ${MAX_BYTES} 字节,已清理旧文件" >> "$HOME/trash_cleanup.log"
fi
fi
chmod +x ~/cleanup_trash.sh
crontab -e
# 添加:0 2 * * * /path/to/cleanup_trash.sh