%20%E3%81%AE%E3%82%B4%E3%83%9F%E7%AE%B1%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%93%E3%81%AB%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
使っています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なし。
NautilusやThunarのようなUbuntuのグラフィカルファイルマネージャーからファイルが削除されると、それらは実際にはに移動されます。ファイルは通常、ターミナルからを~/.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 のゴミ箱フォルダは、通常、gio
(Gnome IO) と GVfs (Gnome 仮想ファイルシステム) によって提供されます。Nautilus などのアプリケーションは GVfs 上で動作してゴミ箱にアクセスしますが、コマンドライン ツールを使用して、GUI を使用せずに WSL または Ubuntu Server のコマンドラインから直接実行することもできますgio
。
それするただし、D-Bus ユーザー セッションが必要ですが、これは (a) Systemd がなく、(b) ユーザー サービスを開始するための「ログイン」という概念がないため、WSL では自動的に実行されません。
WSL Ubuntu ディストリビューションではgio
、と D-bus は両方ともデフォルトでインストールされていますが、パッケージを追加する必要がありますgvfs
(少なくとも WSL では)。
sudo apt install gvfs
次に、D-Bus サポートを使用してシェルを起動する必要があります。これは複数の方法で実行できますが、おそらく最適なオプションは、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