Zugriff auf heruntergeladene Dateien von WSL

Zugriff auf heruntergeladene Dateien von WSL

Problem

Um auf eine kürzlich heruntergeladene Datei zuzugreifen, muss ich:

  • Navigieren Sie zum Windows-Download-Speicherort
  • mvDatei zurück zum WSL-Home-Speicherort

Was ich versucht habe

  • Download-Speicherort in Chrome ändern: Dies ist nicht intuitiv, da mir Dateipfade im Windows-Stil angezeigt werden C:\. Es ist unklar, wie man einen Linux-basierten Dateipfad angibt.home/geoff

Frage

Gibt es eine einfachere Möglichkeit, auf kürzlich heruntergeladene Dateien zuzugreifen?

Antwort1

Alte Frage, die heute nach oben verschoben wurde, deshalb werfe ich noch eine neue Antwort ein.

Die anderen Antworten weisen jeweils einige Probleme auf, die sie meiner Meinung nach für die gestellte Frage nicht optimal machen:

Gibt es eine einfachere Möglichkeit, auf kürzlich heruntergeladene Dateien (von WSL) zuzugreifen?

Meiner Meinung nach geht das am einfachsten, indem Sie in WSL einfach einen symbolischen Link zurück zu Ihrem Windows-Download-Ordner erstellen:

ln -s /mnt/c/Users/<windows_username>/Downloads ~/downloads

Auf alle Ihre Windows-Downloads kann dann direkt in Ihrem ~/downloadsOrdner in WSL zugegriffen werden.

Hinweis: Gründe, warum ich von der Verwendung der anderen (aktuellen) Antworten abrate:

  • Verschieben der Dateinachträglich ist keine schlechte Option, aber es ist nur ein weiterer Schritt. Es funktioniert auch, wie geschrieben, nur für die zuletzt heruntergeladene Datei. Wenn Sie mehrere Dateien herunterladen, muss es nach jedem Download manuell ausgeführt werden.

  • Ich möchte mich für mein kürzliches Upvote entschuldigen aufAntwort von @harrymc. Ich habe es definitiv nicht genau genug gelesen. Dieser Pfad ist (a) nur in WSL1 verfügbar, aber selbst dann (b) sollte er niemals verwendet werden, da er wahrscheinlichDateisystembeschädigung verursachen.

  • Ändern des Standard-Download-Speicherortsim Browser funktioniert sicherlich, und ich applaudiere dem guten Geschmack, Vivaldi zu verwenden, aber die meisten Benutzer werden wahrscheinlich nicht herunterladen wollenalleDateien zu WSL, nur einige wenige.

    Beachten Sie auch, dass das direkte Herunterladen in den Ordner von Vivaldi (aus eigener Erfahrung) einen interessanten Nebeneffekt hat. Wenn Vivaldi (und vielleicht auch andere Browser, aber ich bin mir nicht sicher) gestartet wird, durchsucht es die Liste der zuletzt heruntergeladenen Dateien und scheint tatsächlich eine Art „Lese“-Operation für sie auszuführen. Wenn eine Datei direkt in den \\wsl.localhost\<distro>Pfad heruntergeladen wurde, führt der Zugriff auf diese Datei dazu, dass die WSL-Verteilung selbst gestartet wird.

    Der einzige Grund, warum mir das aufgefallen ist, war, dass ich die (mittlerweile veraltete) debugShell=trueWSL-Option in meinem gesetzt hatte .wslconfig. Dies führt dazu, dass bei jedem Start von WSL ein Debug-Fenster geöffnet wird. Ich habe mehrere Tage gebraucht, um herauszufinden, warum WSL kurz nach dem Neustart meines Computers gestartet wurde ;-).

Antwort2

Gibt es eine einfachere Möglichkeit, auf kürzlich heruntergeladene Dateien zuzugreifen?

Lösung

  • Wir können den WSL-übersetzten Windows-Downloadpfad finden
  • letzten Download an aktuellen Speicherort verschieben

Fügen Sie diese Funktion zu .zshrc oder .bashrc hinzu

getRecentDownload() {
    windowsDownloadsLocation="/mnt/c/Users/<your_username>/Downloads"
    fileNameRecentDownload=$(ls -Art $windowsDownloadsLocation | tail -1)
    mv "$windowsDownloadsLocation/$fileNameRecentDownload" .
}

Wie benutzt man

  • sourcenur bei der ersten Benutzung erforderlich
geoff@DESKTOP-DSQFUUU:~$ source ~/.bashrc
geoff@DESKTOP-DSQFUUU:~$ getRecentDownload

Antwort3

Mir gefällt die Idee, wie oben erwähnt eine Shell-Funktion zu erstellen, aber es ist auch möglich, Ihren Standard-Download-Ordner wie folgt festzulegen:

\\wsl.localhost\DISTRIBUTION\home\USERNAME\Downloads

Zumindest funktioniert das bei mir in Vivaldi (Chrome-ähnlicher Browser).

Antwort4

Warnung: Obwohl Windows-Dienstprogramme Dateien problemlos in WSL-Ordner herunterladen können, versuchen Sie nicht, sie direkt in diese Ordner herunterzuladen, die sich unter befinden %LOCALAPPDATA%\Packages.

Der Microsoft-Artikel Ändern Sie keine Linux-Dateien mit Windows-Apps und -Tools erklärt, dass WSL Linux seine eigenen Metadaten verwendet und nicht die Windows-Informationen zu den Dateien. Dies bedeutet, dass eine mit Windows erstellte Datei in Linux höchstwahrscheinlich leer und ohne Berechtigungen angezeigt wird.

Microsoft hat an der gegenseitigen Kompatibilität von Windows und WSL Linux gearbeitet, aber im Jahr 2023 scheint der Weg bis zur vollständigen Kompatibilität noch lang zu sein.

verwandte Informationen