Trash Cli

🗑️ 命令行安全删除与回收专家

命令行安全删除工具,将文件移至系统回收站而非永久删除,支持恢复与自动清理,有效防止 rm 误删事故。

收藏
4.4k
安装
1k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能与用法

trash-cli 是一个符合 FreeDesktop.org 规范的命令行回收站工具,为 Linux/macOS 用户提供 rm 的安全替代方案。它通过 trash-put 将文件移至系统回收站(~/.local/share/Trash/ 或挂载点的 .Trash 目录),完整记录原始路径、删除时间和权限信息,并与 KDE、GNOME、XFCE 等桌面环境的回收站互通。

五大核心命令:

  • trash-put:安全删除文件/目录(无需 -R 递归参数)
  • trash-list:查看回收站内容,支持按用户过滤
  • trash-restore:交互式恢复文件至原位置,支持覆盖冲突处理
  • trash-empty [天数]:永久清理,可保留最近 N 天文件
  • trash-rm:按模式匹配删除特定回收站文件

典型工作流:

trash-put *.log          # 安全删除
trash-list | grep error  # 定位文件
trash-restore            # 交互式恢复

显著优点

1. 防误删保障:彻底避免 rm -rf 灾难性操作,数据可恢复
2. 跨平台兼容:支持 Homebrew、pip、apt、pacman、dnf 等多种安装方式

3. 桌面环境互通:与图形界面回收站共享存储,双向可见

4. 自动化友好:支持 --force 静默模式、管道过滤和 crontab 定时清理

5. 元数据完整:保留原始路径和时间戳,便于审计和恢复

潜在局限

  • BTRFS 不支持:无法处理 Btrfs 子卷中的文件
  • 只读文件系统受限:无法将只读挂载点的文件移入回收站
  • 语义差异:与 rm 参数行为不同(如目录处理),直接别名替换可能引发脚本问题
  • 无加密擦除:仅移动文件,不涉及安全覆写,敏感数据仍可能被恢复

适用人群

  • 频繁使用终端的开发者与运维人员
  • 需要 rm 安全替代方案的服务器管理员
  • 习惯命令行但担心误删数据的 Linux/macOS 用户
  • 需要自动化垃圾清理的 CI/CD 环境

使用风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 别名冲突 | 将 `rm` 别名指向 `trash-put` 可能破坏依赖 `rm -R` 行为的脚本 | 使用警告别名而非直接替换,或显式调用 `\rm` |
| 存储膨胀 | 大文件长期滞留回收站可能耗尽磁盘空间 | 配置 `trash-empty 30` 定时任务 |
| 权限问题 | 跨分区回收站需正确配置 `.Trash` 目录权限 | 按 FAQ 指导设置 sticky bit |
| 敏感数据残留 | 未加密删除,文件可被取证恢复 | 对机密数据使用 `shred` 或加密磁盘 |

安全等级评估

该工具为成熟开源项目(GitHub 星标 1.2k+),遵循标准规范,无网络通信,无提权需求,本地操作安全可控。主要风险来自用户配置不当(如强制别名替换),而非工具本身缺陷。

Trash Cli 内容

手动下载zip · 2.5 kB
SKILL.mdtext/markdown
请选择文件