Windows'tan Ubuntu Alt Sistemine Dosya Kopyalama [kapalı]


103

Geliştirici modunu etkinleştirdim ve yükledim Bash on Ubuntu on Windows.

Ana dizinim altında bulunabilir %localappdata%\Lxss\home\<ubuntu.username>\, tam yolun olması gerektiği şekilde Pictures adlı bir alt dizin oluşturdum

pencerelerde: C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures

bash üzerinde: /home/<ubuntu.username>/Pictures

komutu kullanarak bash'dan bir dosya oluşturursam, touch hello.txtbu dosyayı Windows kullanıcı arayüzünde özgürce görebilir ve Masaüstüme kopyalayabilirim. Bununla birlikte, Windows kullanıcı arayüzünden yeni bir metin dosyası oluşturur ve onu C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictureskaydedersem, bash veya pencereleri yeniden başlatsam bile, yaptığımda dosya görünmüyor ls -l.

Neden Windows tarafından oluşturulan dosyaları kendi ana dizininde göremiyor?

DÜZENLE Kullanmak /mnt/cbir çözüm değil, neden bu dosyaları görmediğini anlamaya çalışıyorum ve bunun için bir çare olup olmadığını, böylece terminali kopyalamak için kullanmaya çalışmak yerine UI tarafından oluşturulan dosyaları görebileceğini anlamaya çalışıyorum. dosyaları yapıştırın veya taşıyın.


2
İlginç! Benim tahminim - ve onu olduğu sadece bir tahmin - Linux alt sistemi kendi dosyaları izler ve herhangi diğerleri eklenmiştir olmadığını kontrol eder asla olmasıdır. Bu biraz mantıklıdır, çünkü aksi takdirde sanal dosya sistemine dosya silme ve büyük / küçük harfe duyarlılık gibi şeyler için UNIX semantiğini vermek zor olurdu. Bash'ten oluşturursanız hello.txtve HELLO.TXTWindows'ta baktığınızda dosyalardan birinin farklı bir ad altında olacağını bulacağınızdan şüpheleniyorum .
Harry Johnston

Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Bu soru, programlama veya geliştirme ile ilgili olmadığı için konu dışı gibi görünüyor. Burada , Yardım Merkezinde hangi konular hakkında soru sorabilirim konusuna bakın . Belki Süper Kullanıcı veya Unix ve Linux Yığın Değişimi sormak için daha iyi bir yer olabilir. Ayrıca, Dev Ops ile ilgili sorularımı nereye gönderebilirim? Konusuna bakın.
jww

@HarryJohnston'ın tahmin ettiği gibi isimler farklı. Hem uzun hem de kısa. Ama sadece bu durumda, kısa olanlar bile (!)
Serhii Kheilyk

Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü bu sor-ubuntu topluluğuyla ilgili.
OmG

2
@jpaugh Biliyorum. Ancak, bu soru konu dışı değil, Ubuntu koşullarını sormak için haklı.
OmG

Yanıtlar:


155

Windows sisteminize /mntdizin altında erişebilmelisiniz . Örneğin bash içinde, resimler dizininize ulaşmak için bunu kullanın:

cd /mnt/c/Users/<ubuntu.username>/Pictures

Bu yardımcı olur umarım!


Yanlış anladığına inanıyorum. Masaüstümde bir JPG var, onu UI ile bash alt sistemi dizinine kopyaladım. Bash'in ana dizinindeyken bu resimleri neden göremediğini anlamaya çalışıyorum. Bu temel cygwin davranışıdır, işi yapmak için linux komutlarına güvenmeden dosyaları sürükleyip bırakın veya kopyalayıp yapıştırın.
ÜrdünGS

muhtemelen yanlış klasördesiniz.
zoecarver

Linux alt sistemi Cygwin ile aynı tasarım kriterlerine sahip değildir. Onların benzer şekilde davranmasını bekleyemezsiniz.
Harry Johnston

gerçi o benim için çalıştı ubuntu.username); benim için durum böyle değildir .. diğerleri az pencereler için kullanıcı adı değil gereklidir
user2804070

1
Bunun için seni seviyorum.
Gubatron

54

Linux dosya sistemine (lxss klasöründe bulunanlar) yalnızca WSL'nin içinden erişmelisiniz ; DO NOT / oluşturmak Windows lxss bu klasöre dosya değiştirme - Tehlikeli ve WSL bu dosyaları görmezsiniz.

Yine de dosyalar WSL ve Windows arasında paylaşılabilir; dosyayı lxss klasörünün dışına koyun. Bunlara WSL /mntgibi drvFS ( ) aracılığıyla erişebilirsiniz /mnt/c/Users/yourusername/files. Bu dosyalar WSL ve Windows arasında eşitlenmiş durumda kalır.

Ayrıntılar ve neden için bkz: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/



1
Gelen WSL Dosya Sistemi Desteği davranış neden oluyor o açıklar: Dosya "çeviri" (linux tarafında) lsxx alt sisteminde yapılır sadece.
Chris Buck

Bir linux sanal makinesinde dosyaları transfer etmek için SFTP kullanabilirim, dosyayı DÜZGÜNCE Windows'tan linux alt sistemine aktarmak için ne kullanmalıyım? bu bir çözüm sağlamaz.
Ambroise Rabier

1
@AmbroiseRabier WSL'nin en son sürümünde SFTP, tar dosyası veya entegre 9p protokolü kullanın.
reker
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.