LinuxWindowsКак сделать

Как получить доступ к файлам Ubuntu Bash в Windows (и к системному диску Windows в Bash)

Среды Linux, которые вы устанавливаете из Магазина (например, Ubuntu и openSUSE), хранят свои файлы в скрытой папке. Вы можете получить доступ к этой папке для резервного копирования и просмотра файлов. Вы также можете получить доступ к своим файлам Windows из оболочки Bash.

Обновление . Начиная с обновления Windows 10 за май 2019 года , теперь существует официальный и безопасный способ доступа к файлам Linux из приложений Windows .

Не изменяйте файлы Linux с помощью инструментов Windows

Microsoft настоятельно рекомендует не добавлять или изменять файлы Linux с помощью программного обеспечения Windows. Это может вызвать проблемы с метаданными или повреждение файла, а также может заставить вас удалить и переустановить дистрибутив Linux, чтобы исправить это. Однако вы все равно можете просматривать и создавать резервные копии файлов Linux с помощью программного обеспечения Windows, и это не вызовет никаких проблем.

Другими словами, обрабатывайте папку Linux так, как если бы она была доступна только для чтения из Windows. Не используйте любые средства Windows, включая графические приложения или инструменты командной строки, чтобы изменить их. Не создавайте новые файлы в этих папках с помощью инструментов Windows.

Если вы хотите работать с файлом из среды Linux и Windows, вам следует создать его в файловой системе Windows. Например, если у вас есть папка в C: \ project в Windows, вы также можете получить к ней доступ в / mnt / c / project в среде Linux. Поскольку он хранится в файловой системе Windows и доступен в / mnt / c, можно безопасно изменять файл с помощью инструментов Windows или Linux.

Где Windows хранит файлы Linux

Ваша файловая система Linux по какой-то причине хранится в скрытой папке, поскольку Microsoft не хочет, чтобы вы вмешивались в нее. Но если вам нужно просмотреть или сделать резервную копию некоторых файлов, вы найдете их в скрытой папке. Чтобы получить к нему доступ, откройте проводник и вставьте следующий адрес в адресную строку:

  % USERPROFILE% \ AppData \ Local \ Packages 

(Это приведет вас к C:\Users\NAME\AppData\Local\Packages . Вы также можете отобразить скрытые папки в проводнике и перемещаться здесь вручную, если хотите.

В этой папке дважды щелкните папку для дистрибутива Linux , файлы которого вы хотите просмотреть:

  • Ubuntu : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • openSUSE Leap 42 : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12 : 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Имена этих папок могут немного измениться в будущем. Просто найдите папку, названную в честь дистрибутива Linux.

В папке дистрибутива Linux дважды щелкните папку «LocalState», а затем дважды щелкните папку «rootfs», чтобы просмотреть ее файлы.

Другими словами, файлы хранятся по адресу:

  C: \ Users \ ИМЯ \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ корневой файловой системы 

Примечание . В более старых версиях Windows 10 эти файлы хранились в папке C: \ Users \ Name \ AppData \ Local \ lxss. Это изменилось, начиная с обновления Fall Creators .

Чтобы просмотреть файлы, хранящиеся в вашей домашней папке, дважды щелкните «домашнюю» папку, а затем дважды щелкните свое имя пользователя UNIX.

Помните, не изменяйте ни один из этих файлов и не добавляйте файлы в эти папки из проводника!

Где ваш системный диск Windows появляется в Linux

Подсистема Windows для Linux делает доступным полный системный диск Windows, поэтому вы можете работать с одними и теми же файлами в обеих средах. Тем не менее, среда Bash не просто сбрасывает вас на диск C: \. Вместо этого он помещает вас в домашний каталог вашей учетной записи UNIX в файловой системе среды Linux.

Ваш системный диск Windows и другие подключенные диски находятся в каталоге / mnt /, где другие диски традиционно доступны в структуре каталогов Linux . В частности, вы найдете диск C: в следующем месте в среде Bash:

  / Мнт / с 

Чтобы перейти в этот каталог с помощью команды cd , просто введите:

  кд / мин / с 

Если у вас есть диск D :, вы найдете его в / mnt / d и так далее.

Например, чтобы получить доступ к файлу, хранящемуся в C: \ Users \ Chris \ Downloads \ File.txt, вы должны использовать путь /mnt/c/Users/Chris/Downloads/File.txt в среде Bash. И да, он чувствителен к регистру, поэтому вам нужны «Загрузки», а не «Загрузки».

СВЯЗАННЫЕ: Как смонтировать съемные диски и сетевые расположения в подсистеме Windows для Linux

Вы также можете подключить внешние диски и сетевые папки, чтобы получить доступ к большему количеству файлов из среды Linux.

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

Например, если вы хотите получить доступ к системной папке, к которой у вашей учетной записи нет прав доступа, вам нужно щелкнуть правой кнопкой мыши ярлык оболочки Bash и выбрать «Запуск от имени администратора», чтобы запустить оболочку Bash с правами администратора Windows. ,

Это работает так же, как и командная строка, которую нужно запускать от имени администратора, если вам нужен доступ на запись к файлам только администратора или запись на доступ к системным файлам. Вы не можете просто использовать sudo в среде Bash.

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone