我在用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) 并安装
trash
并trash-cli
与npm
。
这些东西现在就可以起作用了!
[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) 没有用于启动用户服务的“登录”概念。
虽然gio
WSL 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