垃圾管理 - Arch Linux 中文维基

跳转到内容

# 垃圾管理

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Trash management，最近一次同步于 2025-1-17，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

为防止误删文件，可以使用垃圾桶。为确保多个应用程序之间的兼容性，可以使用遵循 FreeDesktop.org's Trash specification 的软件（CLI、GUI 或库）。

注意：某些应用程序可以在每个文件系统中使用一个垃圾桶（请参阅规范）。
警告：删除其他文件系统上的文件时，由于文件会在文件系统之间传输，因此使用垃圾桶可能会导致一些延迟。在这种情况下，你可能需要为每个文件系统创建一个垃圾文件夹（参见规范中的 `Trash directories`）。

## 创建垃圾桶

这篇文章的某些内容需要扩充。

原因：添加其它工具 (在 Talk:垃圾管理 中讨论)

一些 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 的命令行界面。

  https://github.com/andreafrancia/trash-cli || trash-cli包

- trashman — 一个 Python 垃圾管理器。

  https://github.com/Kwpolska/trashman || trashmanAUR

- rmtrash — trash-put 与 GNUs rm 和 rmdir 兼容。

  https://github.com/PhrozenByte/rmtrash || rmtrashAUR

- trash-d — GNU rm 的直接替代品，注重兼容性，性能更好，用 D 语言编写。

  https://github.com/rushsteve1/trash-d || trash-dAUR

- trashy — 用 rust 写成的 rm 和 trash-cli 简单、快速、功能丰富的替代品

  https://github.com/oberblastmeister/trashy || trashyAUR

- gtrash — 用 Go 编写的功能丰富的 CLI 垃圾管理器

  https://github.com/umlx5h/gtrash || gtrash-binAUR

- rmw（ReMove to Waste） — 一个可配置的 CLI 垃圾管理工具，可在 X 天后清除垃圾，并与 FreeDesktop.org's Trash specification 集成，用 C 语言编写

  https://theimpossibleastronaut.com/rmw-website/ || rmwAUR

## 垃圾空间使用管理

为了防止垃圾桶占用过多空间，您可以自己清空垃圾桶，或者制定清理政策

### 软件列表

- autotrash — 自动清除旧垃圾文件的工具

  https://github.com/bneijt/autotrash || autotrashAUR

### 标准

这篇文章的某些内容需要扩充。

原因：添加包含标准列表的表格 (在 Talk:垃圾管理 中讨论)

- 确保至少有 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` 并为该目录和子目录设置相关读取权限。

分类：​

- 软件列表

垃圾管理
添加话题