Kann ich in Ubuntu Bash unter WSL das Verzeichnis in ein Windows-Laufwerk ändern?


12

Ich bin ein Super-Neuling für Ubuntu und brauche Ubuntu für ein Python-Paket. Ich möchte beispielsweise eine Python-Datei ausführen e:/username/folder1/folder2/python.py. Ich habe jede Methode online ausprobiert und die einzige Antwort ist bash: cd./e: No such file or directory. Ich bin mir nicht sicher, ob es an den Bash-Fenstern oder an der virtuellen Umgebung liegt.

Wenn ich Bash unter Ubuntu unter Windows verwende ls, heißt es VIRTUALENV_DIR. cdheißt es /home/username. Das cd ..etc ändert das Verzeichnis ein wenig, aber weder ein anderes Laufwerk noch den Ordner, den ich finden möchte.

Antworten:


21

WSL speichert Ihre Windows-Laufwerke im /mntOrdner mit dem Namen des Laufwerks als Unterordner. Zum Beispiel wird Ihr C:\Laufwerk vorhanden sein, /mnt/c/damit Sie es verwenden können.

Vor diesem Hintergrund können Sie wie folgt in Ihren spezifischen Ordner wechseln:

cd /mnt/e/username/folder1/folder2

1
Sicher möchten Sie cdzu einer Datei? sieht aus wie cd /mnt/e/username/folder1/folder2/macht mehr Sinn
dufte

@dufte Guter Fang. Yay für Copy-Paste!
Kaz Wolfe

für Ubuntu 16.04 befindet es sich im Ordner / media
solfish

3

Ja, das kannst du machen. Ich habe shift+ Rechtsklick verwendet, um "Open Powershell here" zu erhalten, egal in welchem ​​Verzeichnis Sie den Befehl 'bash' ausführen und dann wie gewohnt ausführen möchten. Dies entspricht der Verwendung von Ubuntu bash, da nach Verwendung des Befehls 'bash' dieselben Python-Pakete in Windows Powershell verwendet werden.

Hinweis: Unter Windows 10 möglicherweise das neueste Update im April 2018 mit aktiviertem WSL- und Entwicklermodus.


0

Sie können dies versuchen: cd E:/username/folder1/folder2/ und dann ausführen python python.py. In meinem Fall funktioniert es immer auf einem Windows-Computer, auf dem bash ausgeführt wird.


0

Navigieren Sie im Windows Explorer zu e:/username/folder1/folder2/,

Geben Sie ein bashund drücken Sie Enterin die Adressleiste. Ein bashFenster mit dem Pfad e:/username/folder1/folder2/wird angezeigt.

Dies funktioniert auch mit Befehl cmd.

Referenz


0

Mit diesem kleinen Skript können Sie jeden Befehl aus dem Verzeichnis ausführen, in dem sich Ihre Powershell gerade befindet. Es funktioniert nur, wenn das Laufwerk bereits in / mnt / im Subsystem gemountet ist. Es funktioniert nicht mit Netzwerkressourcen.

function tux {$dl = (pwd).Path | wsl eval "cut -c 1 | tr 'A-Z' 'a-z'"; $wd = (pwd).Path | wsl eval "cut -d : -f 2 | tr '\\' '/' 2> /dev/null" ; wsl eval "cd '/mnt/$dl$wd' && eval '$args'"}

Nachdem Sie es ausgeführt haben, können Sie es folgendermaßen verwenden:

tux vim test.txt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.