多数桌面环境(如GNOME、KDE、XFCE)提供了图形化或配置工具来设置回收站自动清空,无需手动编写脚本。
gnome-tweaks
工具gnome-tweaks
(通过系统搜索“Tweaks”找到),切换至Storage选项卡,在Trash部分找到Automatic Emptying,选择所需时间间隔(如“Daily”每天、“Weekly”每周)。dconf-editor
工具dconf-editor
,通过命令sudo apt install dconf-editor
安装。打开dconf-editor
,导航至org > gnome > desktop > trash
,找到automatic-empty
选项,勾选并设置时间间隔(如true
表示启用,默认可能为每天)。86400
=1天)。kwriteconfig5 --file ~/.local/share/config/plasma-org.kde.trashrc --group Trash --key EmptyInterval 86400
直接修改配置。若桌面环境不支持或需更灵活的控制,可通过cron定时任务或systemd服务实现。
crontab -e
。0 1 * * * rm -rf ~/.local/share/Trash/files/* 2>/dev/null
0 1 * * * rm -rf ~/.local/share/Trash/info/* 2>/dev/null
说明:~/.local/share/Trash/files/
存储回收站文件,~/.local/share/Trash/info/
存储元数据;2>/dev/null
用于忽略“目录为空”的报错。Ctrl+X
→Y
→Enter
)。sudo nano /etc/cron.hourly/empty-trash
(或自定义路径)。#!/bin/bash
rm -rf /home/*/\.local/share/Trash/files/* 2>/dev/null
rm -rf /home/*/\.local/share/Trash/info/* 2>/dev/null
sudo chmod +x /etc/cron.hourly/empty-trash
。cron.hourly
目录可执行:sudo chmod +x /etc/cron.hourly
。empty_trash.sh
:#!/bin/bash
trash_path="$HOME/.local/share/Trash/files"
interval=7 # 清理7天前的文件(单位:天)
current_time=$(date +%s)
for file in "$trash_path"/*; do
if [ -f "$file" ]; then # 仅处理文件(排除子目录)
file_mtime=$(stat -c %Y "$file")
time_diff=$((current_time - file_mtime))
if [ $time_diff -gt $((interval * 86400)) ]; then # 86400秒=1天
rm -rf "$file"
fi
fi
done
chmod +x empty_trash.sh
。crontab -e
添加行:0 2 * * * /path/to/empty_trash.sh
。./empty_trash.sh
)。sudo
编辑,确保对回收站目录有读写权限。ls ~/.local/share/Trash/
确认回收站位置。以上方法覆盖了不同场景的需求,选择适合的方式即可实现回收站自动清空。