Como posso acessar caminhos com distinção de maiúsculas e minúsculas no Windows (criado com o Bash-on-Ubuntu-on-Windows)?

5

O Bash-on-Ubuntu-on-Windows suporta caminhos de arquivo que diferenciam maiúsculas de minúsculas. Isso significa que posso criar dois arquivos ou diretórios com nomes que diferem apenas em letras maiúsculas. Eu tenho problemas para acessar esses arquivos, no entanto.

Rodando

bash -c "touch Magic ; mkdir magic ; echo Secret! > magic/secret"

Cria um nome de arquivo Magic , um diretório chamado magic e um nome de arquivo secret nesse diretório.

bash -c "ls -lR" yields

.:
total 0
drwxrwxrwx 2 root root 0 Aug 23 10:37 magic
-rwxrwxrwx 1 root root 0 Aug 23 10:37 Magic

./magic:
total 0
-rwxrwxrwx 1 root root 8 Aug 23 10:37 secret

(Não sei por que recebo root , pois não é o usuário padrão, mas isso não parece relevante para minha pergunta.)

O Windows Explorer mostra:

Agora,enquantobashpodeacessarfacilmenteoarquivomagic/secretnodiretório,oWindowsparecetratartantoodiretórioquantooarquivocomoumeomesmo.Então,dandoumduplocliquenodiretórioeureceboumerro"nome do diretório inválido"

Omesmovaleparausarcd,poisreceboThedirectorynameisinvalid.impresso.

Existealgumamaneira(alémdeusaroBash)paraacessaroarquivomagic/secret?

Respostaparcial

Euencontreiumamaneiradefazerissoprogramaticamente,comalgumasalteraçõesnoregistro.Descrito aqui . Mas parece que não há como fazer isso com as ferramentas existentes do Windows.

    
por tmr232 23.08.2016 / 09:58

1 resposta

2

Você não pode acessar essas pastas no Explorer, simplesmente porque o subsistema Win32 não oferece suporte a maiúsculas e minúsculas e o Explorer não oferece suporte ao subsistema POSIX

Build 14361

For general Windows information on build 14361 visit the Windows Blog.

To track or report an issue visit our Github page.

Fixed

  • DrvFs is now case sensitive when running in Bash on Ubuntu on Windows.

    • Users may case.txt and CASE.TXT on their /mnt/c drives
    • Case sensitivity is only supported within Bash on Ubuntu on Windows. When outside of Bash NTFS will report the files correctly, but unexpected behavior may occur interacting with the files from Windows.
    • The root of each volume (i.e. /mnt/c) is not case sensitive
    • More information on handling these files in Windows can be found here.

link

    
por 07.11.2016 / 10:16