垃圾管理 - 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` 並為該目錄和子目錄設置相關讀取權限。

分類：​

- 軟體列表

垃圾管理
新增話題