Ubuntu/Windows(WSL)에서 휴지통 폴더는 어디에 있나요?

Ubuntu/Windows(WSL)에서 휴지통 폴더는 어디에 있나요?

나는 사용하고있다Win10의 우분투, 명령을 사용해도 휴지통 폴더를 찾을 수 없습니다.

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) 및 trashtrash-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에서 휴지통에 액세스하는 동안 명령 gio줄 도구를 사용하여 GUI 없이 WSL 또는 Ubuntu Server의 명령줄에서 직접 수행할 수도 있습니다.

그것하다그러나 (a) Systemd가 없고 (b) 사용자 서비스를 시작하는 동안 "로그인" 개념이 없기 때문에 WSL에서 자동으로 실행되지 않는 D-Bus 사용자 세션이 필요합니다.

및 D-bus는 모두 WSL Ubuntu 배포판에 기본적으로 설치되어 있지만 적어도 WSL에서는 패키지를 gio추가해야 합니다 .gvfs

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

관련 정보