Windows 10 WSL'den linux / Ubuntu dosyalarına nasıl erişilir?


71

Bu soru Windows dosyalarına Ubuntu Bash'ten nasıl erişileceğini cevaplar, ancak bunun tersini nasıl yapabilirim?

Özellikle, SSH anahtarıma /home/mark/.ssh/id_rsaBash'in altında bulunan Windows'tan erişmem gerekiyor.



(Phuclv'un bağlantılı sorusunu ters kronolojik sırada dupe olarak kapatmayı önerdim, çünkü bu soru hem daha genel hem de çok daha iyi ve daha güncel cevaplara sahip.)
Bob

Yanıtlar:


26

Windows Komut Satırı için PM burada:

Ekim 2019'da güncellendi: Win10 1903'te (ve sonraki sürümlerde) yeni entegre P9 sunucusu üzerinden dağıtımların Linux dosyalarına doğrudan erişme yeteneğini yansıtacak şekilde aşağıdaki yanıtın güncellenmesi .

ÖNEMLİ : Linux dosyalarına erişmek için Windows dosya sistemi üzerinden hitap etmek desteksiz olmaya devam etmekte ve AÇIDA şiddetle tavsiye edilmektedir! Nedenini anlamak için, lütfen bu yazıyı okuyun

Peki Windows araçlarını kullanarak Linux dosyalarına nasıl erişilir (örneğin not defteri, VS / VScode, vb.)? Önceden yapamazsınız, ancak Windows 10 1903'ten başlayarak (son olarak!) Dağıtımlarınızın dosya sistemlerini bir P9 dosya sunucusu üzerinden Windows'a açtık. Bunun nasıl çalıştığını tartışan derinlemesine bir video da yayınladık ! Bu blog yazısında bu yeni özelliğin bir özetini de okuyabilirsiniz.

görüntü tanımını buraya girin

Bu özellik ile nasıl başa çıkacağınızı duymak için sabırsızlanıyoruz. Herhangi bir sorun bulursanız, lütfen WSL GitHub deposundaki sorunları buraya yazın: https://github.com/Microsoft/wsl .


Efendim, bu 9P dosya sunucusu özelliği normal kullanıcılar için kararlı mı? Olmazsa, dengesiz içeriğe sahip yapıların kullanılması hakkında bir uyarı eklemek daha iyi olabilir. Birçok kullanıcı buna aşina olmayabilir. Yine de ilginç bir gerçek, cevabınız 2016 ve 2019 tarihli blogları içeriyor, ~ 3 yıl;)
Biswapriyo

Ooh, bu heyecan verici bir haber! Paylaşım için teşekkürler!
Mart’ta

@ biswaprio.it, bu sürümlerin tam anlamıyla haftalık olarak Windows sürümünün bir sonraki sürümünün haftalık olarak bırakıldığı Insider programına katılmak için tamamlaması gereken manuel adımlarda açıkça belirtilmiştir. Ve evet, 9P sunucusu, içinde bulunduğu ana işletim sistemi sürümündeki genel kullanıcılar için kararlı olacaktır. Ve evet, burada düzgün bir çözüm üretmenin ve başlatmanın bu kadar uzun sürdüğü gerçeği, küçük ekibimizin önceliklendirmesi ve mühendisliği yapmasının ne kadar zor olduğu hakkında bir fikir vermelidir.
Richard Turner,

1
Bunun piyasaya sürüldüğünü ilk duyduğumdan beri, sistemimin her güncellemesinde bu komutu Ubuntu'dan deniyorum. Gezginim her zaman Belgeler klasörüme gider. Ve bu özelliği "etkinleştirmek" için henüz bir adım bulamadım .
Axeman

3
Axeman'a benzer bir durum, çalıştırdığımda explorer.exe .System32 klasörünü açar. @RichardTurner Manuel adımlar nerede?
Chris,

57

Konum aslında en son sürümde şu adrese taşındı:

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

Microsoft / WSL # 2578'den bu GitHub sorununa bakın

Yukarıdaki Sayıda ve aşağıdaki yorumlarda belirtildiği gibi, Windows OS'den bu dosyalarla uğraşmayın.

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


1
Teşekkürler! Eski talimatları izlemeye çalıştığımda delirdiğimi sanıyordum, bir lxss klasörüm bile yoktu.
Alex S

1
Bu bilgi hala doğru mu? Windows
Bruno Finger

6
WINDOWS'DAN DISTRO KÖTÜ KATKILARINA SÖNDÜRMEYECEKLERİNİZİ ÖNEMLİDİRİZ. EĞER, VERİ KAYBI VE / VEYA YOLSUZLUK YÜKSEK MİLLİDİR: Lütfen daha fazla ayrıntı için bu yazıyı
Richard Turner

1
“Herkesin dosyaları bu şekilde değiştirmeye veya değiştirmeye çalışacağından şüpheliyim”. Neden yukarıdaki tavsiyeyi bağırdığımı düşünüyorsun? Haftada birkaç kez insanlardan duyuyoruz, bu tavsiyeyi görmezden geldin ya da okumadım ve kök klasörlerdeki dosyaları bozdu. Heck, sık sık buna neden olan (beta) dağıtım dosyalarınızı değiştiren araçlar da vardır.
Richard Turner,

1
Explorer’da Ubuntu WSL aracılığıyla oluşturduğum bir klasöre göz attım ve sonuç olarak geri dönüşü olmayan bir şekilde izinleri kırdı ... yani evet, bunu yapmayı tavsiye etmem!
SamAndrew81

9

Tüm C sürücümü arayarak buldum. Dosyalar burada:

C:\Users\<username>\AppData\Local\lxss

örneğin, SSH anahtarım burada:

C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa

2
Resmi FCU güncellemesinden bu yana yol değişti gibi görünüyor.
Briefkasten

1
@ Brifkasten Ben sadece FCU güncellendi ve dosyalarım hala orada. Sadece emin olmak için Bash altında yeni bir dosya yarattım. WSL'yi veya başka bir şeyi yükselttiniz mi?
mpen

2
@John D WSL, Uygulamanın yükleneceği Paket Klasöründe bulunur. Benim için: C: / Kullanıcılar / {kullanıcı adı} /AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/ Cont. to github.com/Microsoft/WSL/issues/402#issuecomment-321853125
Briefkasten

9

Evet, ancak bu klasörü Windows Gezgini'nden yönetmeniz tavsiye edilmez. Dosyaları lxss klasöründen kopyalamak, taşımak, düzenlemek veya silmek istiyorsanız, bash içinde komut satırı araçlarıyla yapmanız gerekir. Yalnızca / mnt / * dizinindeki dosyalar, Windows Gezgini'nden gerçekten değiştirilebilir.


1
Basit metin dosyaları bile mi? Tuzaklar nelerdir?
16'da 17

3
Bir Volfs klasöründe (/ / home gibi) bulunan her dosyanın, o dosyanın Linux izinlerini saklayan Genişletilmiş Öznitelikleri vardır. Bu dosyayı bir windows editöründe düzenlerseniz, bu nitelikler kaybolur ve dosya bash'tan kaybolur. Buradan daha fazla bilgi edinebilirsiniz: blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
onoma 20

4
Öyle bir böcek olmalı. Windows ya bu dosyalara erişim sağlamamalı ya da salt okunur erişim sağlamamalı ya da linux dosyalarına yazma çağrılarını durdurmalı ve sadece özellikleri değiştirmemelidir. Bahşiş için teşekkürler. Sadece dosyaları okumak istemiştim, o yüzden umarım bu bir problem değildir.
16'da

5

In powershell, kullanım

cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs

sonra

ls

aynı klasör listesini döndürür

ls / 

WSL'de bash içinde.


4

Yukarıda [onoma] tarafından bahsedildiği gibi, WSL dizinlerindeki dosyalar Windows sisteminde çalışan bir kaşif veya metin editörü kullanarak manipüle edilirse giderilecek özelliklere sahiptir. Çözüm, ssh-server'ı WSL'de başlatmak olabilir (yeniden yükleme gerekli olabilir), yerel ana bilgisayarı dinleyerek ve ardından WSL dosya sistemini, örneğin win-sshfs kullanarak bir sürücü olarak monte etmek veya ssh üzerinden bağlanmak için sadece Bitvise SSH istemcisini kullanmak olabilir. ve sftp penceresiyle dosyaları işleyin. Konu burada kısmen tartışılmıştır: “Windows 10'da Ubuntu'da Bash” ile nasıl SSH yapabilirim?


3

subst L: $env:LOCALAPPDATA\lxss (powershell için)

veya subst L: %LocalAppData%\lxss(den cmd)

Bu koyar dosya sistemi kök Linux-alt sistem /sizin üzerinde L: sürücü.

Ayrıca, yalnızca ana dizininizi eşleyebilir veya %LocalAppData%\lxssbir kaşif penceresine basabilirsiniz . Sadece L: \ mnt \ c'ye göz atmaya çalışmayın, aksi takdirde beyniniz patlayabilir.


3
Güzel çözüm! Şu anki Windows 10 için bu alt L: $ env: LOCALAPPDATA \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs
Andreas M. Oberheim

3

Sonunda WSL içinden gerçek klasör içeriği ile explorer'ı (ve vscode) açmanın bir yolunu yaptım: https://github.com/andymule/wslwin

Örneğin, bunu kurduktan sonra linux (WSL) 'de sadece yazıp yazacaksınız cd /home/mark/.ssh/ve explorerne olursa olsun, o konumda Windows Explorer'ı açacaktır.

EDIT: Bu özellik şu anda WSL'de resmi olarak desteklenmektedir ve artık komut dosyalarımı kullanmamalısınız


2

Im 10 Windows Yaratıcıları Güncelleştirmesi'nde. WSL dosya sistemini Windows'a bir ağ sürücüsü olarak bağlamak için SFTP NetDrive'ı kullanıyorum.

Aynı şeyi elde edecek bazı Window sshFS bağlantı noktaları var.

Ssh arka planını "sudo service ssh start" ile başlatmanız gerekir.


Bunun doğrudan dosyalara gitmesinin avantajı nedir?
22

Dosyalara, meta verileri anlamayan uygulamalarla doğrudan erişilirken kaybolabilecek meta veriler eklenmiştir.
mlk

0
\\wsl$\Ubuntu\home\user\whatever 

Gezgin'de veya Çalıştır widget'ında (Cmd + R). Normal bir ağ paylaşımı gibi çalışır ve dosyaları değiştirmek güvenlidir.

Ayrıca, herhangi bir diğer ağ paylaşımında olduğu gibi, bir sürücüye veya klasöre de ekleyebilirsiniz.

Not: Bu, Windows 10 build 18342'de uygulanan yeni bir özelliktir.

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.