三步学会 trash-cli:把命令行删除变成可恢复的回收站操作
2026/8/20 20:12:05 网站建设 项目流程

三步学会 trash-cli:把命令行删除变成可恢复的回收站操作

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

一次手滑,文件就没了:你缺一颗"后悔药"

"糟糕,我把整个项目删了!"——在终端执行rm -rf时敲错路径、清理临时文件时误删刚写完的代码,这类手滑事故几乎每个开发者都经历过。命令行的删除是永久性的,文件消失后连回收站里都找不到。trash-cli 正是为这个痛点而生的命令行工具:它把"删除"变成"移入系统回收站",文件不会真正消失,随时可以找回,相当于给每次删除都配了一颗后悔药。

一分钟认识 trash-cli:把删除变成移入回收站的命令行工具

简单来说,trash-cli 是一个把文件和文件夹移入系统回收站(macOS 废纸篓、Windows 回收站、Linux 回收站)的命令行工具,就像把文件扔进垃圾桶而不是塞进碎纸机。它支持 macOS、Linux 和 Windows 三大平台,核心亮点如下:

  • 删除可恢复:删错了能从系统回收站找回,杜绝永久误删。
  • 兼容 rm 习惯:能自动忽略rm-r-f等常用参数,可直接顶替rm使用。
  • 支持通配符:可以按*.png这类模式批量匹配文件。
对比项rmtrash
删除结果永久删除移入系统回收站
能否恢复基本不能随时可恢复
常用参数-r -f 等自动忽略这些参数

适合谁用?经常在终端删文件又怕手滑的开发者、需要编写清理脚本的系统管理员,以及所有被rm误删坑过的人。

三步快速上手:安装 trash-cli 并安全删除第一个文件

第 1 步:全局安装

trash-cli 基于 Node.js,需要Node.js 20 或更高版本,先运行node -v确认版本,再用 npm 全局安装:

npm install --global trash-cli

安装完成后,终端里就多了一个trash命令。

第 2 步:执行一次最小删除

新建一个测试文件,然后把它"扔掉":

echo "test" > demo.txt trash demo.txt

第 3 步:确认预期结果

运行ls demo.txt会提示文件不存在——它已经从当前目录消失了。打开系统回收站,你能看到demo.txt乖乖躺在里面,随时可以恢复。这就是与rm最本质的区别:删除不等于消失

核心功能逐个拆解:trash-cli 的四种常用姿势

一次删除多个文件或目录

  • 适用场景:清理项目时想同时删掉多个文件、文件夹,不必一次次敲命令。
  • 操作步骤:把所有路径一次性传给trash
trash a.txt b.txt old-folder/
  • 效果:这些文件与目录全部进入回收站,互不影响。

用通配符批量匹配并排除指定文件

  • 适用场景:只想删掉目录里的所有图片,但保留特别喜欢的一张。
  • 操作步骤:注意通配符一定要加单引号,避免被 shell 提前展开;!开头表示排除:
trash '*.png' '!unicorn.png'
  • 效果:目录下除unicorn.png外所有 PNG 图片都被移入回收站。

让 rm 变身安全版:一行 alias 大法

  • 适用场景:已经习惯了rm的肌肉记忆,想在保持习惯的同时获得回收站保护。
  • 操作步骤:在~/.bashrc(或~/.zshrc)中加一行别名:
alias rm=trash
  • 效果:之后敲rm -rf 目录/,trash-cli 会忽略-r-frm参数,把目录安全地移入回收站,手滑了也能救回来。

删除后回显清单:--verbose

  • 适用场景:批量删除时想确认到底删了哪些文件。
  • 操作步骤:加上-v--verbose参数:
trash -v '*.log'
  • 效果:终端会逐行打印每个被移入回收站的文件路径,结果一目了然。

新手避坑指南:trash-cli 最常见的三个坑

通配符没加引号,被 shell 抢先展开

  • 报错现象:明明写了trash *.png,却提示找不到文件,或只删掉部分图片。
  • 原因:shell 会先把*.png展开成具体文件名,再交给 trash-cli。
  • 解决办法:给通配符加上单引号:trash '*.png'

一个路径都不给,直接报错退出

  • 报错现象:运行trash后输出Specify at least one path
  • 原因:trash-cli 要求至少传入一个路径,否则无法执行。
  • 解决办法:至少带上一个文件或目录路径再运行。

通配符匹配不到隐藏文件

  • 报错现象trash '目录/*'执行后,以.开头的隐藏文件纹丝不动。
  • 原因:默认情况下通配符不匹配点文件(dotfiles)。
  • 解决办法:加上--dot参数:trash --dot '目录/*'

延伸与结语

进阶方向:可以在清理脚本中把trash与定时任务结合,实现"自动清理过期文件但随时可恢复"的工作流;配套的 empty-trash-cli 工具还能一键清空回收站。项目自带的 readme.md 中有完整的参数说明与 FAQ,遇到问题可以随时查阅。

如果你也受够了rm的"一删永别",不妨现在就装一个 trash-cli,让每次删除都变成可反悔的操作。删除前多一个回收站,删除后就少一份后悔。

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

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

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

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

立即咨询