Ubuntu/Windows(WSL)中的垃圾文件夹在哪里?

Ubuntu/Windows(WSL)中的垃圾文件夹在哪里?

我在用Win10 中的 Ubuntu,但我找不到垃圾文件夹,即使我使用命令

mv ~/.Trash/foo ~/
mv: cannot stat '/home/man/.Trash/foo': No such file or directory

我的问题是如何在 Ubuntu/Win10 中打开垃圾文件夹?

答案1

垃圾位于~/.local/share/Trash,至少在 Ubuntu 中是这样的。——~/.local或者更准确地说,~/.local/share——是 XDG 兼容程序根据XDG 基础目录规范

WSL 上的 Ubuntu 仅为您提供默认情况下没有终端和 GUI

每当从 Ubuntu 中的图形文件管理器(如 Nautilus 或 Thunar)中删除文件时,它们实际上会被移动到。文件通常使用终端~/.local/share/Trash删除,它rm没有移动将它们放入垃圾文件夹

因此,除非您使用 Linux 图形文件管理器,否则 WSL 中没有垃圾文件夹。

答案2

我的 WSL(Ubuntu-20.04)没有 ~/.local/share/Trash 文件夹。我按照此处的说明操作(https://github.com/sindresorhus/trash) 并安装 trashtrash-clinpm

这些东西现在就可以起作用了!

[username@host]$ tldr trash
trash
A CLI for managing your trashcan / recycling bin.More information: https://github.com/andreafrancia/trash-cli.

 - Delete a file (send to trash):
   trash {{path/to/file}}

 - List files in trash:
   trash-list

 - Restore file from trash:
   trash-restore

 - Empty trash:
   trash-empty

 - Empty trash, keeping files trashed less than {{10}} days ago:
   trash-empty {{10}}

 - Remove all files named 'foo' from the trash:
   trash-rm foo

 - Remove all files with a given original location:
   trash-rm {{/absolute/path/to/file_or_directory}}

提示:https://github.com/tldr-pages/tldr是一个非常酷的工具,可以获取手册页通常没有的命令的实际示例。

答案3

Ubuntu 中的垃圾文件夹通常由 (Gnome IO) 和 GVfs (Gnome 虚拟文件系统) 提供gio。虽然 Nautilus 等应用程序通过 GVfs 访问垃圾,但也可以直接从 WSL 或 Ubuntu Server 上的命令行执行此操作,而无需任何 GUI,只需使用gio命令行工具即可。

但是,需要 D-Bus 用户会话,该会话不会在 WSL 下自动运行,因为 (a) 没有 Systemd 并且 (b) 没有用于启动用户服务的“登录”概念。

虽然gioWSL Ubuntu 发行版中默认安装了 D-bus,但你确实需要添加该gvfs包(至少在 WSL 上):

sudo apt install gvfs

然后,您需要启动支持 D-Bus 的 shell。这可以通过多种方式完成,但最好的选择可能是将 WSL 启动命令(在 Windows 终端或其他地方)更改为:

wsl ~ -e dbus-launch bash # Or your preferred shell

此时,您可以从 WSL 命令行使用垃圾箱。示例:

touch "a test file"
gio trash "a test file"
gio list Trash://
ls -lah ~/.local/share/Trash/files
gio trash --empty
gio list Trash://
ls -lah ~/.local/share/Trash/files

相关内容