Чому, наприклад, коли я створюю файл із 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 / шлях / до / мій / файлів", щоб вони виявилися у вашому WSL homedir?
cp -r --no-preserve=all
попередні дозволи. Тим не менш, якщо ви хочете внести якісь серйозні зміни, ви не можете використовувати програму Windows для редагування файлу в LinuxSubSystem. Ви повинні відредагувати його у своєму каталогу Windows, а потім скопіювати його. Тепер я знаю це, його працездатність, Але я був під враженням, що підсистема Linux була більш рідною / інтегрованою у windows, ніж ізольована ОС
%LocalAppData%\Packages\<some-long-name-of-distro>\LocalState\rootfs
.