跳至內容
出自 Arch Linux 中文维基

為防止誤刪文件,可以使用垃圾桶。為確保多個應用程式之間的兼容性,可以使用遵循 FreeDesktop.org's Trash specification 的軟體(CLI、GUI 或庫)。

注意:某些應用程式可以在每個文件系統中使用一個垃圾桶(請參閱規範)。
警告:刪除其他文件系統上的文件時,由於文件會在文件系統之間傳輸,因此使用垃圾桶可能會導致一些延遲。在這種情況下,你可能需要為每個文件系統創建一個垃圾文件夾(參見規範中的 Trash directories)。

創建垃圾桶

這篇文章的某些內容需要擴充。

原因:添加其它工具 (在 Talk:垃圾管理 中討論)

一些 GUI 文件管理器,如 GNOME FilesDolphin 本身就支持將文件移入垃圾桶。還有一些 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
https://theimpossibleastronaut.com/rmw-website/ || rmwAUR

垃圾空間使用管理

為了防止垃圾桶占用過多空間,您可以自己清空垃圾桶,或者制定清理政策

軟體列表

  • autotrash — 自動清除舊垃圾文件的工具
https://github.com/bneijt/autotrash || autotrashAUR

標準

這篇文章的某些內容需要擴充。

原因:添加包含標準列表的表格 (在 Talk:垃圾管理 中討論)
  • 確保至少有 x MB 的可用空間
  • 刪除超過 x 天的文件
  • 只有當可用空間小於 x MB 時才會清空(結合前面的標準很有用)
  • 垃圾桶最大大小
  • 文件大小
  • 文件類型
  • 原始路徑

自動化

要自動清空垃圾桶,可以使用 cronsystemd/Timersinotify(使用 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 並為該目錄和子目錄設置相關讀取權限。