Por que, quando eu crio um arquivo no Windows, por exemplo,
não consigo vê-lo no sistema secundário do Linux no Windows 10 (bash.exe)
A captura de tela deve explicar.
Pasta: O OMG foi criado a partir do Windows Explorer.
A pasta OMGBash foi criada a partir do sistema sub do Linux bash.exe
Quando uma pasta OU arquivo é criado fora do bash.exe eu nunca consigo ver, independentemente de permissões e propriedade.
Para mostrar as informações que eu tive que usar o Cygwin para mostrar permissões de arquivo, eu também alterei as permissões para ver se a pasta apareceria.
(As duas janelas de comando na parte inferior)
Captura de tela mostrando as permissões pasta, bash.exe e Cygwin:
EstoutentandomovertodososmeusscriptsdoCygwinparaosubsistemaLinux,masEunãogostoderecriartodososarquivos,depoisterquecopiareusarbash,entãoreformatarusandoDos2unix(muitolongo).
EncontradoissonoGitHubparaosubsistemaLinux:
copyingdirectlyintotheLinuxsubsystemfromWindowsisnotsupported,accordingtodiscussiononothertickets.ThereisadirectoryunderAppDatasomewhere(Iforgetwhere)thatappearstocontainthefilesfortheWSLfilesystem.Butifyouputnewfilesthere,ormodifyexistingfilesthere,yourchangesarenotreflectedcorrectlyinsideWSL.
MybestguessisthatLinuxneedstostoredifferentmetadata(andmorecachinginformation,etc,sinceitsdisk-bufferingmodelisalsodifferent)aboutitsfilesthanWindowsdoes,andthatthisiscurrentlyimplementedbystoringthemastercopyofthestructureoftheLinuxfilesysteminadatabaseofsomesort,andjustusingtheWindowsfilesystemasaconvenientBLOB-storeforthatdatabase.
Ifyoureallyneedtodothis,aworkaroundwouldbetowriteadrag'n'drop.batscriptorsomesuchthatdoesbash.exe-c"mv %1
/home/$USER/". (You'll have to do some clever work with sed and tr,
probably, to translate %1 to a valid WSL path.)
Alternatively -- could you put your files in a Windows directory and,
within WSL, do "cd ~; ln -s /mnt/c/path/to/my/files" to make them
appear to be in your WSL homedir?