尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
trash-cli 实战教程:5 个命令构建你的 Linux 命令行回收站
trash-cli 实战教程5 个命令构建你的 Linux 命令行回收站【免费下载链接】trash-cliCommand line interface to the freedesktop.org trashcan.项目地址: https://gitcode.com/gh_mirrors/tr/trash-cli你有没有过这样的经历一条rm -rf敲下去几 GB 的重要文件瞬间灰飞烟灭连后悔的机会都没有在 Linux 终端里trash-cli 就是专为这类场景诞生的「命令行回收站」。trash-cli 是 freedesktop.org 回收站规范的官方命令行接口兼容 KDE、GNOME、XFCE 等桌面环境的回收站让你在终端中也能安全删除文件并在任何时候轻松找回。本文用 5 个核心命令 若干实战技巧带你从零上手彻底告别「误删即丢失」。为什么你需要一个命令行回收站rm与 trash-cli 的核心区别在于「删除是否可逆」。rm直接清掉磁盘上的数据块trash-cli 则把文件搬进回收站目录并留下一份记录原始位置与删除时间的元数据随时可以原路恢复。对比维度rmtrash-cli删除结果永久删除不可恢复移入回收站可随时恢复原始路径记录无自动记录恢复时原路放回桌面回收站兼容不兼容与图形界面回收站完全互通批量/定时操作需自行组合脚本内置天数过滤、模式匹配对系统管理员和开发者而言trash-cli 的价值有三点一是安全兜底误删后仍有后悔药二是桌面生态互通终端删的文件在文件管理器里同样可见三是易于脚本化配合 cron 可实现自动清理。两步上手2 分钟跑通你的第一次安全删除安装与使用都非常简单推荐通过 pip 安装pip install trash-cli装好后用一个测试文件验证效果echo hello test.txt trash-put test.txt运行后你将看到类似输出test.txt trashed in ~/.local/share/Trash此时test.txt已经从当前目录消失但它并没有被销毁而是被安全地移入了回收站。现在试着用trash-list查看一下2026-08-14 10:30:15 /home/yourname/test.txt输出第一列是删除时间第二列是该文件被删除前的完整原始路径。至此你的命令行回收站已经跑通了。先看原理回收站里到底发生了什么理解了内部机制后续所有命令的行为都会变得顺理成章。执行trash-put后工具会做两件事把文件移动到回收站目录files/下通常位于~/.local/share/Trash/files/在info/目录下生成一个同名的.trashinfo元数据文件记录删除前的原始路径与删除时间。这两个动作保证了两件事文件本体安全存放、原始位置信息不丢失。trash-list负责读取并展示这些信息trash-restore则依据元数据把文件搬回原处trash-empty与trash-rm负责反向清理。五条命令各司其职组成一个完整的「存、查、取、清」闭环。场景一安全删除文件用 trash-puttrash-put 是这套工具链的入口任何「想删但怕删错」的操作都应交给它。删除单个文件trash-put report.pdf批量删除trash-put *.log trash-put build/ dist/几个值得注意的细节对目录同样生效会整棵子树移入回收站重复删除同名文件时会自动追加序号避免覆盖如果回收站所在分区与文件不在同一分区工具会优先选择文件所在分区的回收站目录避免跨设备移动失败。场景二查看回收站内容用 trash-listtrash-list 默认列出所有回收站文件按删除时间与原始路径输出trash-list输出示例2026-08-14 10:30:15 /home/yourname/test.txt 2026-08-01 09:12:44 /home/yourname/old_backup.tar.gz如果想看文件在回收站里的实际存放位置可以加--show-files输出会追加一列-指向备份副本路径。需要显示文件大小时使用--size首列会变为文件体积。配合管道即可实现检索trash-list | grep backup这条组合命令在回收站文件很多时非常实用能快速定位目标。场景三恢复误删文件用 trash-restoretrash-restore 是整套工具的「后悔药」采用交互式操作trash-restore它首先会列出当前目录下被删除过的文件0 2026-08-14 10:30:15 /home/yourname/test.txt 1 2026-08-01 09:12:44 /home/yourname/old_backup.tar.gz What file to restore [0..1]:在提示符后输入序号即可恢复对应文件。它还支持一次性恢复多个输入0,1恢复 0 号和 1 号输入0-1恢复区间内的全部文件两者也可以混用例如0,2-3。恢复时若目标位置已存在同名文件工具会拒绝覆盖并给出提示避免意外覆盖。如果什么都不想恢复直接回车退出即可。场景四定时清理回收站用 trash-empty回收站不能只进不出trash-empty 负责按时间清理# 清空整个回收站 trash-empty # 只删除 30 天前的文件 trash-empty 30trash-empty 30会依据 .trashinfo 中的删除时间筛选仅清理超过 30 天的文件这是最常用的运维姿势。几个高频参数-f跳过交互确认适合脚本调用--dry-run预演模式只列出将被删除的文件而不真正删除-v详细输出配合--dry-run可提前检查清理范围--all-users清理系统内所有用户的回收站需要相应权限。场景五选择性删除用 trash-rm如果只想删掉回收站里符合某种模式的文件用 trash-rm 更精准。它使用fnmatch通配符匹配文件名# 删除回收站中所有 .o 文件 trash-rm *.o # 删除回收站中所有 .tmp 文件 trash-rm *.tmp注意模式需要加引号避免被 shell 提前展开。它只影响回收站内的文件绝不会触碰当前工作目录下的同名文件安全性有保障。进阶实战3 个工程化组合技巧技巧一用 alias 给 rm 加一道保险。在你的 shell 配置中加入alias rmecho 请使用 trash-put 安全删除; false从此敲错rm也会被拦下提醒强制养成安全删除的习惯。技巧二crontab 自动清理过期文件。将下面一行加入 crontab即可每天自动删除回收站中超过 30 天的文件(crontab -l ; echo daily $(which trash-empty) 30 -f) | crontab --f保证无人值守时不会卡在交互确认上。技巧三脚本中先查后删。在自动化脚本里先用 trash-list 确认待删目标再决定是否调用 trash-empty形成「先审计、后清理」的稳妥流程trash-list | grep temp trash-empty 0配合 grep、awk 等标准管道工具trash-cli 可以无缝嵌入你已有的脚本体系。源码导读5 个命令背后的核心模块想深入了解实现细节可以按下面路径阅读源码trashcli/put/main.pytrash-put 主入口负责组装文件系统、时钟、日志等依赖trashcli/list/list_trash_action.pytrash-list 核心动作扫描回收站目录并解析 .trashinfotrashcli/restore/restore_asking_the_user.pytrash-restore 的交互逻辑负责解析序号与区间输入trashcli/empty/parser.pytrash-empty 的参数解析器定义天数、交互、预演等选项。项目同时提供了完整的man/man1/手册页与docs/文档目录命令细节与设计讨论均可查阅建议以官方文档为准。常见问题解答Qtrash-put 和 rm 到底有什么区别Atrash-put 把文件移入回收站并记录原始路径可随时恢复rm 直接释放数据块删除即永久丢失。Q恢复文件时提示拒绝覆盖怎么办A说明目标位置已存在同名文件trash-restore 出于安全默认拒绝覆盖可先移动或重命名现有文件后再恢复。Qtrash-empty 30 和 trash-empty 有什么区别A前者只清理删除时间超过 30 天的文件后者清空整个回收站使用前务必确认。Qtrash-rm 的匹配规则是什么A使用 Python 的fnmatch通配符*匹配任意字符模式需加引号防止 shell 展开。Q终端删除的文件能在桌面回收站看到吗A可以。trash-cli 遵循 freedesktop.org 规范写入的是标准回收站目录与图形界面完全互通。总结与下一步回顾一下trash-cli 为你带来了五件武器trash-put 安全删除、trash-list 随时查看、trash-restore 一键恢复、trash-empty 定时清理、trash-rm 精准移除。✅ 与桌面回收站完全兼容终端图形双端互通✅ 原始路径自动记录恢复零成本✅ 天然支持批量与定时场景脚本友好✅ 安装简单一个 pip 命令即可上手。现在就去安装一个用trash-put替换掉你手上危险的rm从此告别数据误删的焦虑。【免费下载链接】trash-cliCommand line interface to the freedesktop.org trashcan.项目地址: https://gitcode.com/gh_mirrors/tr/trash-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

TrollRestore使用教程:iOS 17.0免越狱安装TrollStore的完整指南(3步搞定)

TrollRestore使用教程:iOS 17.0免越狱安装TrollStore的完整指南(3步搞定)

TrollRestore使用教程:iOS 17.0免越狱安装TrollStore的完整指南(3步搞定) 【免费下载链接】TrollRestore TrollStore installer for iOS 17.0 项目地址: https://gitcode.com/gh_mirrors/tr/TrollRestore 小陈有一台停留在iOS 17.0的i…

📅 2026/10/8 21:15:42
ClipProj-MiniMax-H3常见问题解答:从安装到高级优化全攻略

ClipProj-MiniMax-H3常见问题解答:从安装到高级优化全攻略

ClipProj-MiniMax-H3常见问题解答:从安装到高级优化全攻略 【免费下载链接】ClipProj-MiniMax-H3 项目地址: https://ai.gitcode.com/hf_mirrors/NicoLab28/ClipProj-MiniMax-H3 ClipProj-MiniMax-H3是一个创新的开源项目,它通过投影矩阵让小型Q…

📅 2026/10/9 4:11:32
Android开发者必备!使用Guider进行系统级性能分析与故障排查

Android开发者必备!使用Guider进行系统级性能分析与故障排查

Android开发者必备!使用Guider进行系统级性能分析与故障排查 【免费下载链接】guider The All-in-One System Profiling and Fault Detection Tool for Linux & Android 项目地址: https://gitcode.com/gh_mirrors/gu/guider Guider是一款功能强大的系统…

📅 2026/10/7 8:44:25
MORE NEWS

更多资讯

📰

Agent-Reach 实战:CLI 驱动的 AI Agent 执行框架与工具调用

1. 从零认识 Agent-Reach:它到底解决什么问题第一次看到 Agent-Reach 这个名字,很多人会以为又是一个套壳的聊天机器人。实际用下来你会发现,它更像是一套给 AI Agent 装上“手脚”的中间层工具。简单说,Agent-Reach 是一个基于 C…

📰

Agent-Reach:AI Agent生产可用的关键触达能力,你了解吗?

这两年只要聊到 AI Agent,大家习惯性先比模型参数和推理能力,仿佛 prompt 调得越花,Agent 就越接近“智能”。但真正把 Agent 推上线、跑业务的人心里都清楚:模型只是大脑,Agent 能不能干活,还得看它能不能…

📰

万字长论文批量降AI:从全篇扫描到分章精修的完整流程

长文档的降AI处理,听起来像是应该放在论文写完以后再做的事,但我的实操经验正好相反:如果你写的是几万字、十几章的长论文,等到全文拼起来才发现“AI味”过重,那工作量几乎是灾难级的。我之前处理一篇五万多字的硕士论…

📰

单词拆分LeetCode 139:从动态规划到面试追问的完整拆解

LeetCode热题100刷到第82题,单词拆分(Word Break),这道题我太有印象了——去年面一家独角兽的时候被原题面过,当时只要求判断能否拆分,答完后面试官轻描淡写补了一句"那如果要求输出所有拆分方案呢&qu…

📰

栈算法核心:单调栈、表达式求值与回溯递归的实战指南

1. 先把栈的本质聊透:不只是“先进后出”栈这个数据结构,几乎所有写代码的人第一天就见过,但真正到算法题里能把它用明白的,其实不多。很多朋友问我“栈怎么刷题”,我的回答永远是:先把三个场景啃透&#x…

📰

JCache接口键不存在时get与put行为详解及避坑指南

后台总有读者在准备Java面试,问得比较多的一道"基础篇"题目就是今天要聊的:JCache(JSR-107)中 Cache 接口的 put 和 get 方法,在键不存在时到底是什么行为。题目确实只有一句话,但这句话背后牵出…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬