Скопируйте файлы из Windows в подсистему Ubuntu
Я включил режим разработчика и установил Bash on Ubuntu on Windows
.
Мой домашний каталог можно найти в разделе %localappdata%\Lxss\home\<ubuntu.username>\
, я создал подкаталог с именем Pictures, так что полный путь должен быть
в окнах: C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
на bash: /home/<ubuntu.username>/Pictures
если я создаю файл из bash с помощью команды touch hello.txt
, я могу свободно видеть этот файл в пользовательском интерфейсе Windows и копировать его на рабочий стол. Однако, если я создаю новый текстовый файл из пользовательского интерфейса Windows и сохраняю его в C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
, даже если я перезапущу bash или windows, файл не будет виден, когда я сделаю ls -l
.
Почему bash не может видеть файлы, созданные со стороны Windows, в собственном домашнем каталоге?
EDIT Использование /mnt/c
не является решением, я пытаюсь понять , почему он не видит эти файлы и если есть средство для этого, так что он сможет видеть созданные пользователем файлы, а не пытаться использовать терминал для копирования или вставки файлов.
Ответы
Ответ 1
Вам нужно получить доступ только к файловой системе Linux (расположенной в папке lxss) внутри WSL, НЕ НЕ создавать/изменять любые файлы в папке lxss в Windows, это опасно, и WSL не увидит эти файлы.
Если вы хотите, чтобы файлы могли совместно использоваться WSL и Windows, поместите файл за пределы папки lsxx. Вы можете получить к ним доступ через drvFS (/mnt
), например /mnt/c/Users/youusername/files
в WSL, и изменить их в Windows.
Подробнее и почему:
https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
Ответ 2
Вы должны иметь доступ к вашей системе Windows в каталоге /mnt
. Например, внутри bash используйте это, чтобы попасть в каталог изображений:
cd /mnt/c/Users/<ubuntu.username>/Pictures
Надеюсь, это поможет!