发布时间:2026/8/15 18:05:12
告别 rm 误删:trash-cli 终极回收站指南,4 个实战场景一次讲透 告别 rm 误删trash-cli 终极回收站指南4 个实战场景一次讲透【免费下载链接】trash-cliCommand line interface to the freedesktop.org trashcan.项目地址: https://gitcode.com/gh_mirrors/tr/trash-cli某个周五下午六点我盯着屏幕上的光标手一抖敲下了rm -rf backups/回车。屏幕安静得可怕那是攒了整整一年的数据库导出。那一天我彻底明白rm 没有后悔药但回收站有。trash-cli 正是这样一个工具——它是 freedesktop.org 回收站的命令行接口和 KDE、GNOME、XFCE 共用同一个回收站把删除变成随时可以反悔的动作。本文不罗列命令而是用 4 个实战场景带你吃透 trash-cli 用法从找回误删文件到自动清理一次学会。为什么你已经离不开回收站却还在裸奔 rm先做个对比。图形界面下每个人都知道删除文件先进回收站、想反悔随时捞回来可一旦进了终端大家瞬间失忆张口就是rm -rf仿佛回收站不存在。而垃圾箱里的 GUI 虽然好用却没法写进脚本、没法定时清理、也没法跨机器批量操作。trash-cli 的定位恰好补上这个空档终端里执行 rm 的安全替代品同时具备脚本化能力。它把文件挪进标准回收站目录默认~/.local/share/Trash/并同步记录原始路径和删除时间。文件进了回收站就意味着trash-list能查到、trash-restore能捞回来桌面回收站里也看得到。下面直接进场景。场景一误删文件后三步找回假设你刚把report.docx扔进回收站一分钟后后悔了。第一步确认它还在$ trash-list 2026-08-14 10:30:15 /home/you/report.docx 2026-08-12 09:12:44 /home/you/old_backup.tar.gz输出很直白删除时间 原始路径。文件多了可以配合 grep 过滤比如trash-list | grep report。第二步恢复它。直接运行trash-restore它会列出全部垃圾并等你选择0 2026-08-14 10:30:15 /home/you/report.docx 1 2026-08-12 09:12:44 /home/you/old_backup.tar.gz What file to restore [0..1]: 0输入序号回车report.docx就回到了原来的位置原路径下的同名目录会自动重建。场景二给回收站装上自动过期按钮回收站最怕什么越攒越多磁盘悄悄被吃满。trash-cli 给了你一个按龄清理的开关——trash-empty加上天数只删超过这个天数的文件$ trash-empty 30 # 只清掉 30 天前的垃圾 $ trash-empty # 不带参数 全部清空注意顺序trash-empty是不可逆的清空之前务必先用trash-list过一遍。配合 crontab就变成全自动(crontab -l ; echo weekly /usr/local/bin/trash-empty 30) | crontab -每周自动清理 30 天前的垃圾磁盘和后悔药同时保住完美。场景三只想删回收站里的那批文件有时候你要清的不是全部而是那一类。比如项目里一堆.o编译产物被扔进了回收站只想定向消灭它们$ trash-rm *.o注意引号别省——裸写trash-rm *.o会让 shell 先展开通配符结果什么都匹配不上。删除前同样建议先侦查$ trash-list | grep \.o$ # 先看命中哪些 $ trash-rm *.o # 再精准清理场景四一次恢复多个文件trash-restore比想象中更灵活它支持逗号分隔和区间一次可以捞回一大把What file to restore [0..5]: 0-2, 50-2恢复前三项逗号再接5恢复第六项一条命令搞定。如果原位置已经存在同名文件默认会拒绝覆盖并提示确定要顶掉旧文件加--overwrite即可$ trash-restore --overwrite把回收站变成肌肉记忆进阶工作流场景玩熟了就该让工具主动融入日常。最经典的一招是把rm直接调包# 加入 ~/.bashrc alias rmtrash-put从此终端里敲rm实际执行的是扔进回收站手滑了随时能救。真想物理删除用/bin/rm绕开别名即可。两个提醒脚本里 alias 默认不生效写脚本请直接写trash-put另外像find ... -delete这类操作不会经过回收站注意区分。再进一步可以把定期体检回收站做成一个小函数比如列出超过 60 天的垃圾并询问是否清理配合上面的 crontab 思路让清理变成例行公事而不是年度恐慌。从源码看它怎么工作两个关键设计1. 一个.trashinfo是怎么诞生的当你执行trash-put源码里format_trash_info.py会拼出这样一段内容[Trash Info] Path%2Fhome%2Fyou%2Freport.docx DeletionDate2026-08-14T10:30:15路径做了 URL 编码删除时间用%Y-%m-%dT%H:%M:%S固定格式。文件名撞车也不怕——suffix.py里有个聪明的小逻辑第一个文件不加后缀第二个加_1、_2……超过 100 个时改用 0~65535 的随机数彻底避免同名覆盖。更讲究的是顺序janitor.py里先写.trashinfo、再移动文件本体保证就算中途失败回收站里也不会留下无主的孤儿文件。2.trash-restore怎么解析你输入的0-2, 5看restore_asking_the_user.py的parse_indexes按逗号切分含-的解析成区间否则当成单个序号随后逐个校验越界。整个读输入→解析→恢复流程用EitherLeft/Right串成一条数据管道任一步出错就短路返回错误信息。设计思想很清晰把错误当成数据流传递而不是到处 try/except代码读起来像在描述业务而不是在防崩溃。想继续深挖的入口命令行手册在man/man1/如trash-put.1、trash-restore.1实现源码在trashcli/put/、trashcli/restore/、trashcli/list/规格依据是docs/trashspec-1.0.html。快问快答问trash-put 和 rm 到底啥区别答rm 直接抹掉文件数据神仙难救trash-put 只是把文件挪进回收站随时能还原。想彻底删除再用trash-empty清空两段式更安全。问误删后一定能恢复吗答只要还没trash-emptytrash-list里就能看到trash-restore选个号就回来了。清空之后才真正没救所以清理前一定要先看一眼。问U 盘、移动硬盘上的文件也进回收站答按 freedesktop 规范各挂载卷会优先用卷顶的/.Trash或/.Trash-$uid目录避免跨设备搬文件兜底才回落到 home 回收站。同一台机器上混用 GNOME/KDE 都互相可见。问我该现在就 alias rm 吗答可以先在测试目录跑几天trash-put确认自己熟悉了再上 alias。记住 alias 只对交互式 shell 生效脚本里记得写全命令。现在就动手行动清单pip install trash-cli装好用trash-put扔一个测试文件再用trash-list验证回收站里能看到它。把alias rmtrash-put写进~/.bashrc并记住/bin/rm才是真·删除。给 crontab 加一条trash-empty 30的每周任务让磁盘不再偷偷膨胀。下次手滑时冷静执行trash-list→trash-restore全程不超过十秒。想深入源码从trashcli/put/suffix.py和trashcli/restore/restore_asking_the_user.py这两个小文件读起。删除是瞬间的事后悔却是长久的。给删除加一道缓冲是命令行老手最后的体面——今天就从trash-put这一条命令开始吧。【免费下载链接】trash-cliCommand line interface to the freedesktop.org trashcan.项目地址: https://gitcode.com/gh_mirrors/tr/trash-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/15 21:15:24

C语言期末核心考点精讲:从指针内存到应试技巧全攻略

1. 从“及格万岁”到“高分稳拿”:一份C语言期末自救指南又到期末了,是不是感觉书上的代码都认识,合上书就一片空白?或者,面对老师划的重点,感觉每个字都懂,连起来却不知道从何下手?…

2026/8/15 21:15:24

Cesium三维地球动效增强工具Geo-Effect-Kit核心功能与集成实践

这次我们来看一个专门为Cesium三维地球引擎设计的动效增强工具——Geo-Effect-Kit。如果你正在开发基于Cesium的数字孪生、智慧城市或地理信息可视化项目,并且觉得默认的视觉效果不够酷炫,那么这个开源工具包值得你关注。它的核心目标很直接:…

2026/8/15 21:15:24

树莓派无头部署与PyCharm远程开发完整指南

1. 项目概述:无头部署树莓派的完整工作流如果你手头有一块树莓派,但暂时没有多余的显示器、键盘和鼠标,是不是就让它吃灰了?完全不是。对于很多嵌入式开发、小型服务器部署或者自动化脚本项目来说,“无头”安装和配置恰…

2026/8/15 21:15:24

Git-knife:可视化批量编辑Git提交历史,提升团队协作效率

在团队协作或长期维护的项目中,你是否遇到过这样的困扰:需要批量修改一批历史提交的作者信息、修正错别字连篇的提交信息,或者统一调整提交时间?传统的 git rebase -i 虽然强大,但面对成百上千条提交记录时&#xff…

2026/8/15 21:15:24

Embedding与向量数据库:从语义理解到智能检索的核心技术解析

1. 从“关键词”到“向量”:Embedding技术如何重塑数据理解 如果你最近在关注AI应用开发,尤其是大模型相关的项目,那么“Embedding”和“向量数据库”这两个词一定高频出现在你的视野里。它们不再是学术论文里的专有名词,而是成为…

2026/8/15 21:10:23

无限网格康威生命游戏:稀疏存储与高效演化算法实现

1. 项目概述:从经典到无限的细胞演化如果你对算法、数学或者计算机图形学有点兴趣,大概率听说过“康威生命游戏”。这个由英国数学家约翰康威在1970年提出的细胞自动机,几十年来一直是计算机科学和数学领域的经典教学案例和灵感源泉。它规则简…

2026/8/15 9:46:30

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/15 7:22:41

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/15 0:04:00

AI 电动婴儿车智能功率 辅助控制、电源管理的完整选型方案

2026年随着 AI 技术在电动孕婴童用品中的深度渗透(如智能避障、自适应速度控制、能量回收),电动婴儿车对功率器件提出更高要求:高效率、小型化、低功耗、高可靠性。微碧半导体(VBsemi)基于 Trench 及 SGT 工…

2026/8/15 0:04:00

论文AIGC检测不达标完整教程!低门槛用5款工具逐步复检!

论文提交前自己先查一遍AI率,是2026年毕业生的常规动作。学校要求论文AI率低于30%,乃至于20%才能答辩… 很多同学发现一个尴尬的事情:同一篇论文,知网查出来AI率35%,维普查可能是48%,大雅、朱雀又是另外的数…

2026/8/15 9:46:39

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/15 4:56:16

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/15 9:46:30

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…