Ubuntu 回收站有效期设置指南
方法一 图形界面设置自动清空周期(GNOME 桌面)
- 在系统菜单中打开设置,进入隐私。
- 选择文件历史与回收站(或类似入口)。
- 开启自动清空回收站,在下拉框中选择周期(例如:1天、7天、30天)。设置后,系统会按所选周期自动清空回收站。该方式直观、无需命令行,适合大多数桌面用户。
方法二 命令行与脚本定期清理(通用)
- 使用 trash-cli 提供的trash-empty命令配合cron定时清理:
- 安装工具(若未安装):sudo apt-get update && sudo apt-get install trash-cli
- 编辑当前用户的定时任务:crontab -e
- 添加规则(示例为每7天清理一次):0 1 */7 * * /usr/bin/trash-empty
- 保存退出。可按需将“7”改为其他天数,或调整执行时间。此方法对所有桌面环境均适用,且不会误删未过期的文件。
方法三 手动按“最久未修改时间”清理过期文件(脚本化)
- 原理:回收站的文件与信息分别位于**~/.local/share/Trash/files/与~/.local/share/Trash/info/,可编写脚本按“最后修改时间”与设定的EXPIRATION_DAYS**比较并删除过期项。
- 示例脚本(保存为 empty_trash.sh,EXPIRATION_DAYS=7):
#!/bin/bash
EXPIRATION_DAYS=7
NOW=$(date +%s)
for f in ~/.local/share/Trash/files/*; do
[ -e “$f” ] || continue
MTIME=$(stat -c %Y “$f”)
AGE=$(( (NOW - MTIME) / 86400 ))
[ $AGE -gt $EXPIRATION_DAYS ] && trash rm “$f”
done
- 赋权并加入 cron(每天1:00执行):chmod +x empty_trash.sh;crontab -e 添加:0 1 * * * /path/to/empty_trash.sh
- 说明:脚本中使用trash rm更安全(会同步清理 info 元数据);若直接 rm,请同时处理 files 与 info 对应项。
注意事项与验证
- 回收站路径为:~/.local/share/Trash/files/(文件)与**~/.local/share/Trash/info/**(元数据)。清理前可先查看内容:ls ~/.local/share/Trash/files;必要时手动清空:trash-empty 或 rm -rf ~/.local/share/Trash/{files,info}/*(谨慎操作)。
- 不同桌面环境(如 GNOME、KDE、XFCE)对回收站的集成与策略可能不同;命令行与脚本方式更通用。设置自动清理后,过期的已删除文件将无法从回收站恢复,请谨慎选择周期并定期备份重要数据。