Neden, örneğin Windows içinden bir dosya oluşturduğumda, Windows 10'daki (bash.exe) Linux alt sistemi altında göremiyorum
Ekran görüntüsü açıklamalıdır.
Klasör: OMG, Windows Gezgini içinden oluşturuldu. Klasör OMGBash, Linux alt sistem bash.exe ile oluşturuldu
Bir klasör OR dosyası bash.exe dışında oluşturulduğunda, izinler ve sahiplik ne olursa olsun, onu hiçbir zaman göremiyorum.
Dosya izinlerini göstermek için Cygwin'i kullanmak zorunda olduğum bilgileri göstermek için, klasörün görünüp görünmeyeceğini görmek için izinleri de değiştirdim. (Alttaki iki komut penceresi)
Ekran görüntüsü, bash.exe ve Cygwin izinlerini gösteren klasör:
Tüm Cygwin scriptlerimi Linux alt sistemine taşımaya çalışıyorum, ancak her dosyayı yeniden oluşturmayı, sonra bash kullanarak kopyalayıp geçmişe çevirmeyi, sonra yeniden biçimlendirmeyi ve ardından Dos2unix'i (çok uzun sargılı) kullanmayı sevmiyorum.
Bunu Linux alt sistemi için GitHub'ta buldum:
diğer biletlerle ilgili tartışmalara göre, doğrudan Windows alt sisteminden Windows’tan kopyalanması desteklenmiyor. AppData altında bir yerde (unutuyorum), WSL dosya sistemi için dosyaları içerdiği anlaşılan bir dizin var. Ancak oraya yeni dosyalar koyarsanız veya mevcut dosyaları değiştirirseniz, değişiklikleriniz WSL'ye doğru şekilde yansıtılmaz.
En iyi tahminim, Linux’un dosyaları için Windows’tan farklı bir meta veri (ve daha fazla önbellek bilgisi, vb.) Saklaması gerektiği, çünkü disk arabelleği modeli de Windows’tan farklıdır ve şu anda yapının ana kopyasını depolayarak uygulanmaktadır. Linux dosya sisteminin bir tür veritabanında ve sadece Windows dosya sistemini bu veritabanı için uygun bir BLOB mağazası olarak kullanmak.
Bunu gerçekten yapmanız gerekiyorsa, bir geçici çözüm bir drag'n'drop .bat komut dosyası veya bash.exe -c "mv% 1 / home / $ USER /" ifadesini yazmaktır. (Muhtemelen% 1 değerini geçerli bir WSL yoluna çevirmek için sed ve tr ile akıllıca bir çalışma yapmanız gerekecek.)
Alternatif olarak - dosyalarınızı bir Windows dizinine koyabilir ve WSL içinde, WSL homedir'inizde görünmelerini sağlamak için "cd ~; ln - s / mnt / c / yol / - / my / files" öğelerini kullanabilir misiniz?
cp -r --no-preserve=all
yapmak Önceki izinleri bırakmak gerekir . Yine de, herhangi bir ağır değişiklik yapmak istiyorsanız, dosyayı LinuxSubSystem'da düzenlemek için bir windows uygulamasını kullanamazsınız, Düzenlemeniz gerekir, Windows Directory'nizde kopyalayın ve kopyalayın. Şimdi, bunun uygulanabilir olduğunu biliyorum, ancak Linux Alt Sisteminin bir izole işletim sisteminden daha penceresi / birleşik olduğu izlenimini altındaydı
%LocalAppData%\Packages\<some-long-name-of-distro>\LocalState\rootfs
.