Почему, например, когда я создаю файл из Windows, я не вижу его в подсистеме Linux в Windows 10 (bash.exe)
Скриншот должен объяснить.
Папка: OMG был создан из Windows Explorer. Папка OMGBash была создана из подсистемы Linux bash.exe
Когда папка ИЛИ файл создается вне bash.exe, я никогда не вижу его, независимо от прав доступа и владельца.
Чтобы показать информацию, которую мне пришлось использовать Cygwin, чтобы показать права доступа к файлам, я также изменил разрешения, чтобы увидеть, появится ли папка. (Два командных окна внизу)
Снимок экрана, показывающий права доступа к папке, bash.exe и Cygwin:
Я пытаюсь переместить все свои скрипты Cygwin в подсистему Linux, но мне не хочется пересоздавать каждый файл, затем копировать и переносить, используя bash, а затем переформатировать, затем используя Dos2unix (очень длинный).
Нашел это на GitHub для подсистемы Linux:
копирование непосредственно в подсистему Linux из Windows не поддерживается, согласно обсуждению других заявок. Где-то в AppData есть каталог (я забыл, где), который содержит файлы для файловой системы WSL. Но если вы поместите туда новые файлы или измените существующие файлы, ваши изменения не будут правильно отражены в WSL.
Мое лучшее предположение состоит в том, что Linux должен хранить различные метаданные (и больше информации о кэшировании и т.д., Поскольку его модель буферизации диска также отличается) относительно своих файлов, чем в Windows, и что в настоящее время это реализуется путем хранения главной копии структуры файловой системы Linux в какой-либо базе данных и просто используя файловую систему Windows в качестве удобного BLOB-хранилища для этой базы данных.
Если вам действительно нужно это сделать, обходной путь - написать сценарий drag'n'drop .bat или что-нибудь подобное, выполняющее bash.exe -c "mv% 1 /home /$ USER /". (Вам придется проделать некоторую умную работу с sed и tr, возможно, чтобы перевести% 1 в правильный путь WSL.)
В качестве альтернативы - не могли бы вы поместить свои файлы в каталог Windows и в WSL сделать «cd ~; ln -s /mnt /c /path /to /my /files», чтобы они оказались в вашем домашнем каталоге WSL?