返回顶部
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
安全检测
已通过
477
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

trash-cli

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)

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部