WSL'de Ubuntu Bash'te bir Windows sürücüsüne dizini değiştirebilir miyim?


14

Ben Ubuntu için süper bir acemi ve temelde bir Python paketi için Ubuntu gerekir. Söylemek bir Python dosyası çalıştırmak istiyorum e:/username/folder1/folder2/python.py. Her yöntemi çevrimiçi denedim ve tek cevap bash: cd./e: No such file or directory. Bunun bash pencereleri mi yoksa virtualenv mi olduğundan emin değilim.

Windows'ta Ubuntu'da bash kullandığımda lsdiyor VIRTUALENV_DIR. cddiyor /home/username. cd ..Vb dizin biraz, ancak başka bir sürücü değiştirir, ne klasör bunu bulmak istiyoruz.

Yanıtlar:


22

WSL, Windows sürücülerinizi, /mntalt klasör olarak sürücünün adıyla klasörde saklar . Örneğin, C:\sürücünüz /mnt/c/kullanmanız için hazır bulunacaktır .

Bunu göz önünde bulundurarak, belirli bir klasöre şöyle takas edebilirsiniz:

cd /mnt/e/username/folder1/folder2

1
cdBir dosyaya istediğinizden emin misiniz ? cd /mnt/e/username/folder1/folder2/daha mantıklı görünüyor
dufte

@dufte İyi yakaladım. Kopyala yapıştır için Yay!
Kaz Wolfe


3

Evet, yapabilirsin. shift"Bash" komutunu açmak ve "bash" komutunu çalıştırmak istediğiniz dizini almak için + sağ tıklama kullandım , sonra her zamanki gibi keyfini çıkarın. Bu, 'bash' komutunu kullandıktan sonra Windows Powershell'de aynı Python paketlerini kullandığından Ubuntu bash'ı kullanmakla aynıdır.

Not: Windows 10'da WSL ve geliştiriciler modu etkinleştirilmiş olabilir.


2

Windows Gezgini'nde şuraya gidin e:/username/folder1/folder2/,

yazın bashve Enteradres çubuğuna basın , bashyolu içeren bir pencere e:/username/folder1/folder2/görünecektir.

Bu komutla da çalışır cmd.

Referans


0

Bunu yapmayı deneyebilir cd E:/username/folder1/folder2/ ve daha sonra çalıştırabilirsiniz python python.py. Her zaman benim durumumda bash çalışan Windows makinesinde çalışır.


0

Bu küçük komut dosyasıyla Powershell'inizin bulunduğu dizinden her komutu yürütebilirsiniz. Yalnızca sürücü alt sistemde / mnt / dizinine zaten bağlıysa çalışır. Ağ kaynaklarıyla çalışmaz.

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'"}

yürüttükten sonra şu şekilde kullanabilirsiniz:

tux vim test.txt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.