回收站管理
为了防止意外删除文件,您可以使用回收站。为了确保多个应用程序之间的兼容性,您可以使用遵循 FreeDesktop.org 的回收站规范的软件(CLI、GUI 或库)。
注意:某些应用程序可以为每个文件系统使用一个回收站(请参阅规范)
警告:当删除另一个文件系统上的文件时,使用回收站会引起一些延迟,因为文件将在文件系统之间传输。 在这种情况下,您可能需要使用为每个文件系统创建一个回收站文件夹的实现(请参阅规范中的“回收站目录”)。
回收站创建
一些 GUI 文件管理器,例如 GNOME Files 和 Dolphin,原生支持将文件移动到回收站。 还有一些 CLI 工具
- glib2 提供了
gio trash 文件...
命令来将文件移动到回收站,而gio trash --empty
则清空回收站。 另请参阅 gio(1) § COMMANDS 中的 “trash”。 完全支持通过gio trash
命令进行回收站管理需要 gvfs 软件包。 - kde-cli-tools 提供了
kioclient5
命令,可以像kioclient5 move 文件 trash:/
这样使用,将文件
移动到回收站。 - trash-cli — 一个实现了 FreeDesktop.org 回收站规范的命令行界面。
- trashman — 一个 Python 回收站管理器。
- rmtrash — 使 trash-put 兼容 GNU 的 rm 和 rmdir。
- trash-d — GNU rm 的替代品,专注于兼容性和更高的性能,用 D 语言编写。
- trashy — 简单、快速且功能丰富的 rm 和 trash-cli 的替代品,用 Rust 编写
- gtrash — 一个功能丰富的用 Go 编写的回收站 CLI 管理器
- rmw (ReMove to Waste) — 一个可配置的 CLI 回收站管理实用程序,可以清除 X 天后的回收站,并与 FreeDesktop.org 的回收站规范集成,用 C 语言编写
回收站空间使用管理
为了防止回收站占用过多空间,您可以手动清空它,或者制定清理策略
软件列表
- autotrash — 用于自动清除旧回收文件的工具
标准
- 确保至少有 x MB 的可用空间
- 删除早于 x 天的文件
- 仅当可用空间少于 x MB 时才清空(与之前的标准结合使用时很有用)
- 最大回收站大小
- 文件大小
- 文件类型
- 原始路径
自动化
要自动化清空回收站,您可以使用 cron、systemd/Timers 或 inotify(使用 inotify,只有新的删除操作会触发回收站自动化)
故障排除
无法找到或创建回收站目录
外部驱动器
/etc/fstab
可能未正确设置。 请注意,ID 必须替换为您自己的用户 ID,通过 $ id
命令获取。
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> UUID=75667752-8b06-11ea-bc55-0242ac130003 /externalDrive ntfs-3g defaults,uid=ID 0 1
确保驱动器的根目录包含 ~/.Trash-1000/{expunged,files,info}
,并为目录和子目录设置相关的读取权限。