Autotrash：一个自动清除旧垃圾的命令行工具
Autotrash 是一个命令行程序，它用于自动清除旧的已删除文件。它将清除超过指定天数的在回收站中的文件。你不需要清空回收站或执行 SHIFT+DELETE 以永久清除文件/文件夹。Autortrash 将处理回收站中的内容，并在特定时间段后自动删除它们。简而言之，Autotrash 永远不会让你的垃圾变得太大。安装 AutotrashAutotrash 默认存在于基于 Debian 系统的仓库中。要在 Debian、Ubuntu、Linux Mint 上安装 autotrash，请运行：$ sudo apt-get install autotrash在 Fedora 上：$ sudo dnf install autotrash对于 Arch linux 及其变体，你可以使用任何 AUR 助手程序， 如 Yay 安装它。$ yay -S autotrash-git自动清除旧的垃圾文件每当你运行 autotrash 时，它会扫描你的 ~/.local/share/Trash/info 目录并读取 .trashinfo 以找出它们的删除日期。如果文件已在回收站中超过指定的日期，那么就会删除它们。让我举几个例子。要删除回收站中超过 30 天的文件，请运行：$ autotrash -d 30如上例所示，如果回收站中的文件超过 30 天，Autotrash 会自动将其从回收站中删除。你无需手动删除它们。只需将没用的文件放到回收站即可忘记。Autotrash 将处理已删除的文件。以上命令仅处理当前登录用户的垃圾目录。如果要使 autotrash 处理所有用户的垃圾目录（不仅仅是在你的家目录中），请使用 -t 选项，如下所示。$ autotrash -td 30Autotrash 还允许你根据回收站可用容量或磁盘可用空间来删除已删除的文件。例如，看下下面的例子：$ autotrash --max-free 1024 -d 30根据上面的命令，如果回收站的剩余的空间少于 1GB，那么 autotrash 将从回收站中清除超过 30 天的已删除文件。如果你的回收站空间不足，这可能很有用。我们还可以从回收站中按最早的时间清除文件直到回收站至少有 1GB 的空间。$ autotrash --min-free 1024在这种情况下，对旧的已删除文件没有限制。你可以将这两个选项（--min-free 和 --max-free）组合在一个命令中，如下所示。$ autotrash --max-free 2048 --min-free 1024 -d 30根据上面的命令，如果可用空间小于 2GB，autotrash 将读取回收站，接着关注容量。此时，删除超过 30 天的文件，如果少于 1GB 的可用空间，则删除更新的文件。如你所见，所有命令都应由用户手动运行。你可能想知道，我该如何自动执行此任务？这很容易！只需将 autotrash 添加为 crontab 任务即可。现在，命令将在计划的时间自动运行，并根据定义的选项清除回收站中的文件。要在 crontab 中添加这些命令，请运行：$ crontab -e添加任务，例如：@daily /usr/bin/autotrash -d 30现在，autotrash 将每天清除回收站中超过 30 天的文件。有关计划任务的更多详细信息，请参阅以下链接。[Cron 任务的初学者指南]]2[如何在 Linux 中轻松安全地管理 Cron 作业]]3请注意，如果你无意中删除了任何重要文件，它们将在规定的日期后永久消失，所以请小心。请参阅手册页以了解有关 Autotrash 的更多信息。$ man autotrash清空回收站或按 SHIFT+DELETE 永久删除 Linux 系统中没用的东西没什么大不了的。它只需要几秒钟。但是，如果你需要额外的程序来处理垃圾文件，Autotrash 可能会有所帮助。试一下，看看它是如何工作的。就是这些了。希望这个有用。还有更多的好东西。干杯!via: https://www.ostechnix.com/autotrash-a-cli-tool-to-automatically-purge-old-trashed-files/作者：SK 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
相信每个人都对 回收站 trashcan 很熟悉，因为无论是对 Linux 用户，还是 Windows 用户，或者 Mac 用户来说，它都很常见。当你删除一个文件或目录的时候，该文件或目录会被移动到回收站中。需要注意的是，当把文件移动到回收站以后，文件系统空间并没有被释放，除非把回收站清空。如果不想永久删除文件的话（清空回收站），可以利用回收站临时存储被删除了的文件，从而在必要的时候能够帮助我们恢复删除了的文件。但是，如果在命令行使用 rm 命令进行删除操作，那么你是不可能在回收站中找到任何被删除了的文件或目录的。所以，在执行 rm 命令前请一定要三思。如果你犯了错误（执行了 rm 命令），那么文件就被永久删除了，无法再恢复回来，因为存储在磁盘上的元数据已经不在了。根据 freedesktop.org 规范， 垃圾 trash 是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一个特性。当通过文件管理器删除一个文件或目录的时候，该文件或目录将会成为 垃圾 trash ，然后被移动到回收站中，回收站对应的目录是 $HOME/.local/share/Trash 。回收站目录包含两个子目录：files 和 info 。files 目录存储实际被删除了的文件和目录，info 目录包含被删除了的文件和目录的信息，比如文件路径、删除日期和时间，每个文件单独存储。你可能会问，既然已经有了 图形用户界面 GUI 的回收站，为什么还需要命令行工具呢？因为对于大多数使用 *NIX 系统的家伙（包括我）来说，即使使用的是基于图形用户界面的系统，也更喜欢使用命令行而不是图形用户界面。所以，如果有人在寻找一个命令行回收站工具，那么这儿有一个不错的选择。Trash-Cli 是什么trash-cli 是一个命令行回收站工具，并且符合 FreeDesktop.org 的 垃圾 trash 规范。它能够存储每一个垃圾文件的名字、原始路径、删除日期和权限。如何在 Linux 上安装 Trash-Cli绝大多数的 Linux 发行版官方仓库都提供了 Trash-Cli 的安装包，所以你可以运行下面这些命令来安装。对于 Debian/Ubuntu 用户，使用 apt-get 或 apt 命令来安装 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-CliTrash-Cli 的使用不难，因为它提供了一个很简单的语法。Trash-Cli 提供了下面这些命令：trash-put： 删除文件和目录（仅放入回收站中）trash-list ：列出被删除了的文件和目录trash-restore：从回收站中恢复文件或目录 trash.trash-rm：删除回收站中的文件trash-empty：清空回收站下面，让我们通过一些例子来试验一下。1) 删除文件和目录：在这个例子中，我们通过运行下面这个命令，将 2g.txt 这一文件和 magi 这一文件夹移动到回收站中。$ trash-put 2g.txt magi和你在文件管理器中看到的一样。2) 列出被删除了的文件和目录：为了查看被删除了的文件和目录，你需要运行下面这个命令。之后，你可以在输出中看到被删除文件和目录的详细信息，比如名字、删除日期和时间，以及文件路径。$ trash-list 2017-10-01 01:40:50 /home/magi/magi/2g.txt 2017-10-01 01:40:50 /home/magi/magi/magi3) 从回收站中恢复文件或目录：任何时候，你都可以通过运行下面这个命令来恢复文件和目录。它将会询问你来选择你想要恢复的文件或目录。在这个例子中，我打算恢复 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]: 04) 从回收站中删除文件：如果你想删除回收站中的特定文件，那么可以运行下面这个命令。在这个例子中，我将删除 magi 目录。$ trash-rm magi5)清空回收站：如果你想删除回收站中的所有文件和目录，可以运行下面这个命令。$ trash-empty6)删除超过 X 天的垃圾文件：或者，你可以通过运行下面这个命令来删除回收站中超过 X 天的文件。在这个例子中，我将删除回收站中超过 10 天的项目。$ trash-empty 10Trash-Cli 可以工作的很好，但是如果你想尝试它的一些替代品，那么你也可以试一试 gvfs-trash 和 autotrash 。via: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/作者：2daygeek 译者：ucasFL 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
问题我遇到了无法在Ubuntu 14.04中清空回收站的问题。我右键回收站图标并选择清空回收站，就像我一直做的那样。我看到进度条显示删除文件中过了一段时间。但是它停止了，并且Nautilus文件管理也停止了。我不得不在终端中停止了它。但是这很痛苦因为文件还在垃圾箱中。并且我反复尝试清空后窗口都冻结了。方案老实说，我不知道什么导致了这个问题。但是我有一个解决方案如果你在Ubuntu 14.04或者14.10遇到这个问题的话。打开终端并使用下面的命令:sudo rm -rf ~/.local/share/Trash/* 这里注意你的输入。你使用超级管理员权限来运行删除命令。我相信你不会删除其他文件或者目录。上面的命令会删除回收站目录下的所有文件。换句话说，这是用命令清空垃圾箱。使用完上面的命令后，你会看到垃圾箱已经清空了。如果你清空了所有文件，你不应该在看到Nautilus崩溃的问题了。对你有用么？我希望这篇贴士对你有用，今后你也不会在Ubuntu或者其他发行版中再遇到相同的问题。如果你遇到任何问题请让我知道。via: http://itsfoss.com/fix-empty-trash-ubuntu/作者：Abhishek 译者：geekpi 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出