垃圾管理
为防止误删文件,可以使用垃圾桶。为确保多个应用程序之间的兼容性,可以使用遵循 FreeDesktop.org's Trash specification 的软件(CLI、GUI 或库)。
注意: 某些应用程序可以在每个文件系统中使用一个垃圾桶(请参阅规范)。
警告: 删除其他文件系统上的文件时,由于文件会在文件系统之间传输,因此使用垃圾桶可能会导致一些延迟。在这种情况下,你可能需要为每个文件系统创建一个垃圾文件夹(参见规范中的
Trash directories
)。创建垃圾桶[编辑 | 编辑源代码]
一些 GUI 文件管理器,如 GNOME Files 和 Dolphin 本身就支持将文件移入垃圾桶。还有一些 CLI 工具:
- glib2包 提供了一条
gio trash file...
命令,用于将文件移入垃圾桶,而gio trash --empty
则会清空垃圾桶。另请参见 gio(1) § COMMANDS 中的 "trash"。要通过gio trash
命令完全支持垃圾管理,需要安装 gvfs包 软件包。 - kde-cli-tools包 提供了一条
kioclient5
命令,可以使用kioclient5 move file trash:/
将file
移至垃圾桶。 - trash-cli — 实现 FreeDesktop.org's Trash specification 的命令行界面。
- trashman — 一个 Python 垃圾管理器。
- rmtrash — trash-put 与 GNUs rm 和 rmdir 兼容。
- trash-d — GNU rm 的直接替代品,注重兼容性,性能更好,用 D 语言编写。
- trashy — 用 rust 写成的 rm 和 trash-cli 简单、快速、功能丰富的替代品
- gtrash — 用 Go 编写的功能丰富的 CLI 垃圾管理器
- rmw(ReMove to Waste) — 一个可配置的 CLI 垃圾管理工具,可在 X 天后清除垃圾,并与 FreeDesktop.org's Trash specification 集成,用 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
} 并为该目录和子目录设置相关读取权限。