Ubuntu Recycle 如何设置回收站大小
小樊
33
2025-12-13 23:18:11
Ubuntu 回收站容量设置指南
核心说明
- 在 Ubuntu/GNOME 等常见桌面环境中,系统并未提供统一的“回收站容量上限”图形开关;回收站本质是每个用户主目录下的目录(如:~/.local/share/Trash/files 与 ~/.local/share/Trash/info)。因此通常通过“磁盘配额”或“定时清理脚本”来间接限制其占用空间。
方案一 使用磁盘配额限制用户可用空间(推荐)
- 适用场景:需要对某个用户(或用户组)在整个分区上的可用空间做硬限制,从而自然限制其回收站大小。
- 步骤(以 ext4 为例):
- 安装配额工具
sudo apt-get install quota
- 编辑 /etc/fstab,为目标分区添加配额选项(示例为对根分区):
/dev/sda1 / ext4 defaults,usrquota,grpquota 1 1
- 重新挂载分区:
sudo mount -o remount /
- 初始化配额数据库:
sudo quotacheck -cum /
- 启用配额:
sudo quotaon -vug /
- 为用户设置配额(软/硬限制,单位 KB/MB/GB 均可由工具换算):
sudo edquota -u username
- 提示:配额是对用户可用空间的整体限制,回收站只是其中的一部分;当配额用尽时,删除到回收站的操作也会失败,从而“倒逼”控制回收站体积。
方案二 定时清理回收站(按时间或容量阈值)
- 适用场景:希望回收站在达到某个“时间或大小阈值”后自动清理,避免长期占用空间。
- 步骤:
- 安装命令行回收站工具(便于管理):
sudo apt-get install trash-cli
- 创建清理脚本(示例为“超过 7 天删除”与“超过 100MB 删除最旧文件”二选一或组合):
- 按时间清理(删除 7 天前):
#!/usr/bin/env bash
TRASH=“$HOME/.local/share/Trash”
find “$TRASH/files” -type f -atime +7 -delete
find “$TRASH/info” -type f -atime +7 -delete
- 按容量清理(超过 100MB 时删除最旧文件,先删 files 再删 info 对应记录):
#!/usr/bin/env bash
TRASH=“$HOME/.local/share/Trash”
MAX=104857600 # 100MB
size=$(du -sb “$TRASH/files” 2>/dev/null | awk ‘{print $1}’)
if [ “$size” -gt “$MAX” ]; then
按修改时间升序删除最旧文件(只删 files,info 会在删除文件后残留,可按需清理)
find “$TRASH/files” -type f -printf ‘%T@ %p\n’ | sort -n | cut -d’ ’ -f2- | head -n 1 | xargs rm -f
fi
- 赋权并加入定时任务(cron):
chmod +x ~/clean_trash.sh
crontab -e
每天 02:00 执行
0 2 * * * /home/你的用户名/clean_trash.sh
- 说明:脚本可按需简化或增强(例如同时清理 info 中对应条目,或记录日志)。
方案三 手动与快捷操作
- 手动清空回收站(图形界面):在文件管理器(如 Nautilus)中右键“回收站”→“清空回收站”。
- 手动清空回收站(命令行):
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
- 使用 trash-cli 管理:
trash-list # 查看回收站内容
trash-restore # 交互式恢复
trash-empty # 清空回收站(可配合定时任务使用)
方案四 桌面环境设置与注意事项
- 部分桌面环境(如 GNOME/KDE)提供“存储/回收站/自动清理”相关选项,可在设置中开启自动清理策略;不同版本与发行版的可选项名称与位置可能不同,建议先检查系统设置中的存储或文件管理器相关项。
- 若你来自 Windows 的使用习惯,请注意:Linux 回收站没有统一的“滑杆式容量上限”设置;通常通过配额或脚本实现同等效果。