trash-cli 使用指南:一条命令把文件安全送进回收站
2026/8/19 18:11:38 网站建设 项目流程

trash-cli 使用指南:一条命令把文件安全送进回收站

【免费下载链接】trash-cliMove files and folders to the trash项目地址: https://gitcode.com/gh_mirrors/tra/trash-cli

在终端里敲下rm -rf的那一刻,很多人都会心头一紧——删除操作无法撤销,误删的成本往往很高。trash-cli 正是为解决这个痛点而生的命令行回收站工具:它把文件和文件夹移动到系统回收站,而不是永久抹除,让你在终端里也能像在图形界面里一样从容反悔。它同时支持 macOS、Linux 和 Windows,安装后只需一条命令即可上手。

从 rm 到回收站:为什么值得换一种删除方式

rm之所以危险,是因为它执行的是物理删除:文件一旦被删,普通手段几乎无法找回。而 trash-cli 做的事情完全不同——它把目标文件挪进系统的回收站目录,文件内容原封不动,随时可以恢复。

  • 误删有退路:文件进入回收站而非直接消失;
  • 跨平台一致:macOS、Linux、Windows 都能用同一套命令;
  • 支持路径和通配符:既可以删单个文件,也可以一次匹配一批文件。

从实现上看,trash-cli 是一个很轻的 Node.js 工具,核心逻辑全部集中在项目根目录的cli.js一个文件里:用meow解析命令行参数,用globby展开通配符,真正执行移动操作的是底层trash这个跨平台 API。理解了这一点,你就能明白为什么它的用法如此简洁。

三步完成安装

安装前建议先确认 Node.js 版本不低于 20(可以用node --version查看),这是工具的运行前提。然后执行:

npm install --global trash-cli

安装完成后,终端里就有了全局可用的trash命令。用下面这条命令验证是否安装成功:

trash --help

能看到帮助信息,就说明一切就绪。整个项目只有一个执行入口,没有复杂的配置文件和依赖链,装完即用。

第一个实战场景:安全清理项目里的临时文件

假设你刚跑完一轮构建,项目目录里散落着日志、压缩包和一堆临时文件,想清理又怕删错。此时你可以这样操作:

# 删除两个明确指定的文件 trash debug.log old-backup.zip # 用通配符批量删除所有 .tmp 文件,但保留 important.tmp trash '*.tmp' '!important.tmp'

注意第二条例子里,通配符模式必须用引号包起来,否则 Shell 会先自行展开,导致模式失效。这也是 trash-cli 使用中最容易踩的一个坑。

如果你想知道究竟删了哪些东西,加上-v参数,工具会把每个被移入回收站的文件路径打印出来:

trash -v '*.log'

这样每一步操作都看得见、摸得着,清理过程完全可控。

最常用的 4 个命令与参数速查

命令 / 参数作用示例
trash <路径>把指定文件或目录移入回收站trash unicorn.png rainbow.png
trash '<glob>'用通配符批量匹配文件(记得加引号)trash '*.png' '!unicorn.png'
--dot通配符匹配时同时匹配隐藏文件trash --dot 'cache/*'
--verbose, -v打印被移入回收站的文件列表trash -v temp.log

如果你不传任何路径就执行trash,工具会提示 "Specify at least one path" 并退出,这也是它防止误操作的一道保护。

进阶技巧:把 rm 悄悄换成 trash

trash-cli 最贴心的一点是:它主动忽略了rm的常用参数,比如-r-f-i-R等。这意味着你多年养成的rm -rf xxx肌肉记忆不会白费——即使加上这些参数,文件也只会被送进回收站,不会真的消失。

基于这个特性,官方推荐的做法是在 Shell 配置里加一行别名:

# 写入 ~/.zshrc 或 ~/.bashrc alias rm=trash

重新加载配置后,你平时敲的rm命令实际上都在调用 trash-cli。既保留了操作习惯,又给删除加上了回收站这道保险。如果哪天你真的想彻底删除某个文件,再用系统自带的/bin/rm也不迟。

常见问题与避坑

问:文件被 trash 之后去了哪里?去了系统回收站,macOS 上对应废纸篓,Linux 上对应桌面回收站,Windows 上对应回收站。你随时可以从那里恢复,也可以在回收站里手动彻底清除。

问:通配符删不生效怎么办?先检查是否加了引号。未加引号的*.png会被 Shell 提前展开成文件列表,行为会和你预期的不同。

问:为什么安装时报 Node 版本错误?trash-cli 要求 Node.js ≥ 20,请先升级 Node 再安装。

问:这个工具靠谱吗,测试覆盖如何?项目使用 ava 编写测试,用例集中在test.js,覆盖了普通删除、忽略rm参数、隐藏文件匹配、-v输出等场景,你可以执行npm test自行查看运行结果。

问:删错了怎么办?直接从回收站恢复即可。如果回收站被清空过,日常删除建议优先使用 trash 而不是rm,从源头降低风险。

小结与下一步

trash-cli 用极小的体积换来了极高的安全性:一条命令、一个入口文件、零配置,却让终端的删除操作从此可逆。建议你今天就在 Shell 里加上alias rm=trash,把"误删风险"直接降为零。

如果你还想进一步延伸,可以关注同一作者生态里的另外两个方向:用empty-trash一键清空回收站,或用del-cli在你确认无误时执行真正的彻底删除。删除这件事,从此主动权完全掌握在你自己手里。

【免费下载链接】trash-cliMove files and folders to the trash项目地址: https://gitcode.com/gh_mirrors/tra/trash-cli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询