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.

Stephanie
quelle

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
Kaz Wolfe
quelle
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.

Sarang
quelle
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.

Mohit Singh
quelle
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

Animeta
quelle
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
pt1997
quelle