trash-cli 是什么
trash-cli 给 Linux 命令行补上回收站语义:用 trash-put 代替 rm,文件不是直接消失而是移进回收站,之后可以用 trash-list 查看、trash-restore 找回、trash-empty 清空。它降低交互式终端里的误删概率,定位是防误删的辅助层,不能替代备份。
基本信息
| 适用平台 | Linux(Python 实现,主流发行版仓库可直接安装) |
|---|---|
| 常用命令 | trash-put、trash-list、trash-restore、trash-empty、trash-rm |
| 回收站位置 | 遵循 freedesktop 规范,按用户存放(通常在用户主目录下) |
| 适合场景 | 交互式终端里的日常删除操作 |
| 不适合场景 | 脚本与 root 自动化流程:绕过回收站概率高 |
| 定位 | 防误删的辅助层,与备份、快照互补使用 |
典型使用场景
- 日常在终端删文件时给自己留一道后路
- 运维手工操作加保险:删错文件不等于立即丢数据
- 培训与新人环境降低误删代价
- 临时清理后反悔,可以在回收站里找回
- 替代部分习惯性 sudo rm -rf 的操作(危险目录仍要谨慎)
安装与使用
安装与使用
# 安装(Debian/Ubuntu 系)
sudo apt install trash-cli
# 删除文件:进回收站而不是直接消失
trash-put report.docx
# 查看回收站内容
trash-list
# 交互式恢复
trash-restore
# 清空回收站(不可恢复)
trash-empty
# 可选:仅在交互式 shell 里配置别名,不要写进系统级脚本环境
alias rm='trash-put'命令读法
| 命令 | 作用 | 注意 |
|---|---|---|
| trash-put | 把文件移进回收站 | 脚本里用它等于改变既有自动化语义 |
| trash-list | 列出回收站条目 | 按原始路径与删除时间查看 |
| trash-restore | 交互式恢复 | 原始路径被占用时需要另选位置 |
| trash-empty | 清空回收站 | 不可恢复,执行前确认清楚 |
| trash-rm | 按模式删除回收站中的条目 | 模式写错会在回收站里再误删一次 |
别名只在交互式 shell 配置里推荐使用:写进系统级脚本环境会让既有自动化流程的删除语义发生变化,也可能让回收站异常膨胀占满磁盘。
回收站通常与源文件在同一文件系统:同一块盘出问题时,原文件和回收站里的副本一起丢,所以它防的是手误,不是故障。