5

Bash-on-Ubuntu-on-Windows поддерживает регистрозависимые пути к файлам. Это означает, что я могу создать два файла или каталоги, имена которых отличаются только заглавными буквами. У меня проблемы с доступом к этим файлам.

Бег

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

Создает имена файлов Magic , каталог с именем magic и secret файлов с именами в этом каталоге.

bash -c "ls -lR"

.:
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

(Я не уверен, почему я получаю root , поскольку он не является пользователем по умолчанию, но это не имеет отношения к моему вопросу.)

Проводник Windows показывает: Проводник Windows показывает файл и каталог

Теперь, когда bash может легко получить доступ к magic/secret файлу в каталоге, Windows, похоже, рассматривает и каталог, и файл как одно и то же. Поэтому, дважды щелкнув каталог, я получаю сообщение об ошибке "имя каталога недействительно". Ошибка dbl-щелчка по каталогу

То же самое касается использования cd , так как я получаю The directory name is invalid. распечатанный.

Есть ли способ (кроме использования Bash) для доступа к magic/secret файлу?

Частичный ответ

Я нашел способ сделать это программно, с некоторыми изменениями реестра. Описано здесь. Но кажется, что нет никакого способа сделать это с существующим инструментарием Windows.

1 ответ1

2

Вы не можете получить доступ к этим папкам в Explorer, просто потому что подсистема Win32 не поддерживает чувствительность к регистру, а Explorer не поддерживает подсистему POSIX

Сборка 14361

Для получения общей информации о Windows о сборке 14361 посетите блог Windows.

Чтобы отследить или сообщить о проблеме, посетите нашу страницу Github.

Исправлена

  • DrvFs теперь чувствителен к регистру при запуске в Bash на Ubuntu в Windows.

    • Пользователи могут использовать case.txt и CASE.TXT на своих дисках /mnt /c
    • Чувствительность к регистру поддерживается только в Bash на Ubuntu в Windows. Если за пределами Bash NTFS сообщит о файлах правильно, но может возникнуть непредвиденное поведение при взаимодействии с файлами из Windows.
    • Корень каждого тома (т.е. /mnt /c) не чувствителен к регистру
    • Более подробную информацию об обработке этих файлов в Windows можно найти здесь.

https://msdn.microsoft.com/en-us/commandline/wsl/release_notes#build-14361

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .