Trash-Cli:Linux 上的命令行回收站工具
创始人
2024-03-02 00:18:07
0

相信每个人都对 回收站 trashcan 很熟悉,因为无论是对 Linux 用户,还是 Windows 用户,或者 Mac 用户来说,它都很常见。当你删除一个文件或目录的时候,该文件或目录会被移动到回收站中。

需要注意的是,当把文件移动到回收站以后,文件系统空间并没有被释放,除非把回收站清空。

如果不想永久删除文件的话(清空回收站),可以利用回收站临时存储被删除了的文件,从而在必要的时候能够帮助我们恢复删除了的文件。

但是,如果在命令行使用 rm 命令进行删除操作,那么你是不可能在回收站中找到任何被删除了的文件或目录的。所以,在执行 rm 命令前请一定要三思。如果你犯了错误(执行了 rm 命令),那么文件就被永久删除了,无法再恢复回来,因为存储在磁盘上的元数据已经不在了。

根据 freedesktop.org 规范, 垃圾 trash 是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一个特性。当通过文件管理器删除一个文件或目录的时候,该文件或目录将会成为 垃圾 trash ,然后被移动到回收站中,回收站对应的目录是 $HOME/.local/share/Trash

回收站目录包含两个子目录:filesinfofiles 目录存储实际被删除了的文件和目录,info 目录包含被删除了的文件和目录的信息,比如文件路径、删除日期和时间,每个文件单独存储。

你可能会问,既然已经有了 图形用户界面 GUI 的回收站,为什么还需要命令行工具呢?因为对于大多数使用 *NIX 系统的家伙(包括我)来说,即使使用的是基于图形用户界面的系统,也更喜欢使用命令行而不是图形用户界面。所以,如果有人在寻找一个命令行回收站工具,那么这儿有一个不错的选择。

Trash-Cli 是什么

trash-cli 是一个命令行回收站工具,并且符合 FreeDesktop.org 的 垃圾 trash 规范。它能够存储每一个垃圾文件的名字、原始路径、删除日期和权限。

如何在 Linux 上安装 Trash-Cli

绝大多数的 Linux 发行版官方仓库都提供了 Trash-Cli 的安装包,所以你可以运行下面这些命令来安装。

对于 Debian/Ubuntu 用户,使用 apt-getapt 命令来安装 Trash-Cli:

$ sudo apt install trash-cli

对于 RHEL/CentOS 用户,使用 yum 命令来安装 Trash-Cli:

$ sudo yum install trash-cli

对于 Fedora 用户,使用 dnf 命令来安装 Trash-Cli:

$ sudo dnf install trash-cli

对于 Arch Linux 用户,使用 pacman 命令来安装 Trash-Cli:

$ sudo pacman -S trash-cli

对于 openSUSE 用户,使用 zypper 命令来安装 Trash-Cli:

$ sudo zypper in trash-cli

如果你的发行版中没有提供 Trash-Cli 的安装包,那么你也可以使用 pip 来安装。为了能够安装 python 包,你的系统中应该会有 pip 包管理器。

$ sudo pip install trash-cli
Collecting trash-cli
 Downloading trash-cli-0.17.1.14.tar.gz
Installing collected packages: trash-cli
 Running setup.py bdist_wheel for trash-cli ... done
Successfully installed trash-cli-0.17.1.14

如何使用 Trash-Cli

Trash-Cli 的使用不难,因为它提供了一个很简单的语法。Trash-Cli 提供了下面这些命令:

  • trash-put: 删除文件和目录(仅放入回收站中)
  • trash-list :列出被删除了的文件和目录
  • trash-restore:从回收站中恢复文件或目录 trash.
  • trash-rm:删除回收站中的文件
  • trash-empty:清空回收站

下面,让我们通过一些例子来试验一下。

  1. 删除文件和目录:在这个例子中,我们通过运行下面这个命令,将 2g.txt 这一文件和 magi 这一文件夹移动到回收站中。
$ trash-put 2g.txt magi

和你在文件管理器中看到的一样。

  1. 列出被删除了的文件和目录:为了查看被删除了的文件和目录,你需要运行下面这个命令。之后,你可以在输出中看到被删除文件和目录的详细信息,比如名字、删除日期和时间,以及文件路径。
$ trash-list
2017-10-01 01:40:50 /home/magi/magi/2g.txt
2017-10-01 01:40:50 /home/magi/magi/magi
  1. 从回收站中恢复文件或目录:任何时候,你都可以通过运行下面这个命令来恢复文件和目录。它将会询问你来选择你想要恢复的文件或目录。在这个例子中,我打算恢复 2g.txt 文件,所以我的选择是 0
$ trash-restore
 0 2017-10-01 01:40:50 /home/magi/magi/2g.txt
 1 2017-10-01 01:40:50 /home/magi/magi/magi
What file to restore [0..1]: 0
  1. 从回收站中删除文件:如果你想删除回收站中的特定文件,那么可以运行下面这个命令。在这个例子中,我将删除 magi 目录。
$ trash-rm magi

5)清空回收站:如果你想删除回收站中的所有文件和目录,可以运行下面这个命令。

$ trash-empty

6)删除超过 X 天的垃圾文件:或者,你可以通过运行下面这个命令来删除回收站中超过 X 天的文件。在这个例子中,我将删除回收站中超过 10 天的项目。

$ trash-empty 10

Trash-Cli 可以工作的很好,但是如果你想尝试它的一些替代品,那么你也可以试一试 gvfs-trashautotrash


via: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/

作者:2daygeek 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

港科大团队打造"...
人工智能领域又迎来了一次令人兴奋的突破。香港科技大学(广州)、纽约...
2025-11-20 22:15:05
扎克伯格旗下Meta Pl...
扎克伯格旗下Meta Platforms将从2026年开始按AI影...
2025-11-15 07:46:13
为MCU加上AI,安谋科技...
日前,安谋科技Arm China发布“星辰”STAR-MC3 CP...
2025-10-23 16:46:00
微信 Windows/ma...
IT之家 10 月 21 日消息,微信团队刚刚发布了最新的微信 4...
2025-10-21 19:44:56
OpenAI与SoftBa...
10月14日消息,OpenAI正在与SoftBank所控制的Arm...
2025-10-14 15:15:57
开源打印机 Open Pr...
IT之家 9 月 30 日消息,科技媒体 Notebook Che...
2025-09-30 14:45:18

热门资讯

《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何理解Apache 2.0许... 提要:Apache 2.0许可证中的专利许可条款使得开源代码可以安全使用,但它经常被误解。Apach...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...