必须同时清空~/.local/share/Trash/files和info目录,因info中残留的.trashinfo元数据会使桌面环境误判回收站非空,导致右键清空失效或卡顿;仅删files不彻底。

直接删 ~/.local/share/Trash 里的内容就行,但别只删 files 忘了 info,否则下次右键“清空回收站”可能还显示有文件、卡住或报错。
为什么 rm -rf ~/.local/share/Trash/* 有时不彻底
回收站目录分两部分:files 存实际文件,info 存每个文件的 .trashinfo 元数据(记录原路径、删除时间)。只清 files 后,info 里残留的条目会让桌面环境误判“还有文件没清”,导致右键菜单失效或清空操作无响应。
- 正确做法是同时清空两个子目录:
rm -rf ~/.local/share/Trash/files/* ~/.local/share/Trash/info/* - 如果想一步到位,用
rm -rf ~/.local/share/Trash/{files,info}/*(注意花括号无空格) - 不建议直接
rm -rf ~/.local/share/Trash,因为某些桌面环境(如 GNOME)会在下次删除时自动重建,但重建过程可能出错,反而引发图标异常
多用户环境怎么批量清理
服务器或共享机器上,/home 下每个用户都有自己的 .local/share/Trash,root 用户的在 /root/.local/share/Trash。用 sudo 遍历清理最稳妥:
- 清理所有普通用户:
for userdir in /home/*; do [ -d "$userdir/.local/share/Trash" ] && sudo rm -rf "$userdir/.local/share/Trash/{files,info}/*"; done - 顺手清理 root:
sudo rm -rf /root/.local/share/Trash/{files,info}/* - 注意:不要用
for user in $(ls /home),遇到用户名含空格会崩;用 glob/home/*更安全
用 trash-cli 替代手动删更省心
装了 trash-cli 后,trash-empty 会自动同步清理 files 和 info,还能处理符号链接、权限异常等边界情况,比裸用 rm 少踩坑。
- 安装(Ubuntu/Debian):
sudo apt install trash-cli - 清空当前用户回收站:
trash-empty - 清空时加
-v可看删了哪些文件:trash-empty -v - 它不会动
expunged目录(已标记为永久删除的文件),这个目录可安全忽略
真正容易被忽略的是 info 目录——很多人删完 files 觉得完事了,结果过两天发现桌面右键“清空回收站”点不动,或者 trash-list 还列着一堆已不存在的文件名,问题就出在这儿。


















