闲社服务运行正常AI智能体自动化平台
t

回收站命令行

技能标识:trash-cli

Use trash-cli to safely delete files by moving them to the system trash instead of permanently removing them. This prevents accidental data loss and allows file recovery. Use instead of rm when you want recoverable deletion.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.5
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

回收站命令行

trash-cli

一个用于freedesktop.org回收站的命令行界面。它能够回收文件,并记录原始路径、删除日期和权限。它使用与KDE、GNOME和XFCE相同的回收站。

安装

bash

通过 Homebrew(Linux/macOS)


brew install trash-cli

通过 pip

pip install trash-cli

通过 apt(Debian/Ubuntu)

sudo apt install trash-cli

通过 pacman(Arch Linux)

sudo pacman -S trash-cli

通过 dnf(Fedora)

sudo dnf install trash-cli

命令概览

命令描述
trash-put将文件/目录移动到回收站
trash-list
列出已回收的文件 | | trash-restore | 恢复已回收的文件 | | trash-empty | 永久删除已回收的文件 | | trash-rm | 从回收站中移除特定文件 |

trash-put

将文件或目录移动到回收站。

bash
trash-put <文件> # 回收一个文件
trash-put <目录>/ # 回收一个目录
trash-put -f <文件> # 静默忽略不存在的文件
trash-put -v <文件> # 详细输出

选项

  • - -f, --force - 静默忽略不存在的文件
  • -v, --verbose - 解释正在执行的操作
  • --trash-dir TRASHDIR - 使用TRASHDIR作为回收文件夹

说明

  • - 与rm不同,trash-put处理目录时不需要-R参数
  • 从主分区回收的文件会进入~/.local/share/Trash/
  • 从其他分区回收的文件会进入$partition/.Trash/$uid或$partition/.Trash-$uid

trash-list

列出所有已回收的文件。

bash
trash-list # 列出所有已回收的文件
trash-list | grep <模式> # 搜索特定文件
trash-list --all-users # 列出所有用户的回收站

输出格式

2008-06-01 10:30:48 /home/user/bar
2008-06-02 21:50:41 /home/user/baz

格式:删除日期 原始路径

trash-restore

将已回收的文件恢复到其原始位置。

bash
trash-restore # 交互式恢复
trash-restore --overwrite # 覆盖现有文件
trash-restore --sort date # 按日期排序(默认)
trash-restore --sort path # 按路径排序

交互模式

$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/baz
要恢复哪个文件 [0..2]: 0

  • - 输入编号以恢复该文件
  • 使用0-2,3恢复多个文件
  • 使用--overwrite替换现有文件

trash-empty

从回收站中永久删除文件。

bash
trash-empty # 删除所有已回收的文件
trash-empty 7 # 删除超过7天的文件
trash-empty 1 # 删除超过1天的文件

示例

bash

删除回收站中的所有内容


trash-empty

只保留最近7天的文件

trash-empty 7

只保留今天的文件

trash-empty 1

trash-rm

从回收站中移除特定文件(按模式匹配)。

bash
trash-rm <模式> # 移除匹配模式的文件
trash-rm *.o # 移除所有.o文件
trash-rm foo # 移除所有名为foo的文件
trash-rm /完整/路径 # 按原始路径移除

注意:使用引号保护模式不被shell展开。

bash
trash-rm *.log # 正确
trash-rm *.log # 错误 - shell会展开

安全提示

用trash-put替代rm

添加到.bashrc或.zshrc:

bash

提醒自己不要直接使用rm


alias rm=echo 请改用trash-put!; false

或使用更安全的别名

alias rm=trash-put

当确实需要使用rm时绕过别名:

bash
\rm file.txt

恢复工作流程

  1. 1. 检查回收站内容:trash-list
  2. 查找文件:trash-list | grep <文件名>
  3. 恢复:trash-restore

回收站位置

  • - 主分区:~/.local/share/Trash/
  • 其他分区:$挂载点/.Trash/$uid或$挂载点/.Trash-$uid

限制

  • - 不支持BRTFS卷
  • 无法回收只读文件系统中的文件

常见问题

创建顶级.Trash目录

如果需要在不同分区上创建回收目录:

bash
sudo mkdir --parent /.Trash
sudo chmod a+rw /.Trash
sudo chmod +t /.Trash

是否应该将rm别名为trash-put?

作者建议不要这样做。 虽然trash-put看起来与rm兼容,但它具有不同的语义,会导致问题。例如,rm删除目录需要-R参数,而trash-put不需要。

相反,使用警告别名:

bash
alias rm=echo 这不是你要找的命令。; false

当确实需要使用rm时绕过别名:

bash
\rm file.txt

参见

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 trash-cli-1776300263 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 trash-cli-1776300263 技能

通过命令行安装

skillhub install trash-cli-1776300263

下载

⬇ 下载 trash-cli v1.0.5(免费)

文件大小: 2.75 KB | 发布时间: 2026-4-16 16:16

v1.0.5 最新 2026-4-16 16:16
* Enhanced metadata format* Removed homepage (not directly related to this project)
返回顶部