Когда я запускаю bash
подсистему Windows для Linux, она бросает меня в каталог
/mnt/c/Users/<username>
Когда я ls
этот каталог, я вижу , каталоги Desktop
, Documents
и т.д. , которые я могу видеть в C:\Users\<username>
использовании файлов Windows Explorer. Так как именно здесь и началась bash
программа, я ожидал, что это мой домашний каталог, но когда я набираю либо, cd
либо cd ~
меня переводят
/home/<username>
который содержит мой .bashrc
и .profile
т. д. файл, который я ожидал найти в своем домашнем каталоге в коробке с Linux. Кроме того, ввод cd ../..
отсюда я могу видеть , каталоги bin
, etc
и так далее, опять же, как и ожидалось на коробке Linux.
У меня есть два вопроса относительно всего этого:
- С чем именно
/mnt/c/Users/<username>
сравниваетсяC:\Users\<username>
? Кажется, они одно и то же --- так что же/mnt/c/
? - Как я могу просмотреть файлы в
/home/<username>
проводнике Windows? Не то, чтобы я действительно этого хотел - я просто пытаюсь понять, как Windows организует эту подсистему для Linux.
Ответы:
Для 2: Текущий путь теперь связан с тем, какой дистрибутив вы установили из Магазина Microsoft, а не с одним глобальным путем. Итак, для Ubuntu он теперь находится по адресу:
Я предполагаю, что другие дистрибутивы будут находиться в аналогичном месте в соответствующих папках под:
источник
/mnt/c/
вот, где я храню все в WSL. Я был бы рад, если бы WSL был изменен на LWS; Это означает, что было бы замечательно, если бы мы все работали с Ubuntu с подсистемами Linux для Windows, чтобы запустить полную копию Windows 10, интегрированную в Ubuntu. Я знаю, это будет намного сложнее, но можно мечтать./mnt/c
точно так же, какC:\
. Это всего лишь синтаксис для получения от него WSL.C:\Users\<username>\AppData\Local\Lxss\rootfs
.источник
C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\
/
О файловой системе, смонтированной на
/mnt/c
В отличие от Windows, Linux (и другие системы, основанные на Unix) используют единую структуру папок, независимо от количества имеющихся у вас дисков. Если у вас есть несколько дисков, все эти диски должны быть в какой-то момент монтированы в структуру папок.
/mnt
или/media
WSL имеет специальный тип файловой системы с именем DrvFS, который дает вам доступ к дискам, используемым в Windows. Вы можете использовать DrvFS для монтирования не только файловой системы Windows, но также сетевых дисков и других типов носителей.
C:
диск в windows монтируется под/mnt/c
D:
диск в Windows, он будет смонтирован под/mnt/d
Файлы, в которых вы можете видеть,
/mnt/c
такие же, как у васC:
. Если вы измените какой-либо файл, вы получите изменения и в окнах.Вы можете использовать
mount
команду для доступа к другим типам носителей (например, съемным дискам или сетевым ресурсам).О местонахождении
/home/<username>
В WSL вся файловая система linux находится в папке Windows. Расположение папки зависит от версии Windows и используемого вами дистрибутива WSL.
%LOCALAPPDATA%\Lxss\rootfs
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
. Название пакета зависит от дистрибутива (например, для Ubuntu оно отличается от Debian)Вы можете проверить множество параметров, чтобы узнать расположение папки WSL . Например, я думаю, что самый простой вариант - использовать lxRunOffline, чтобы узнать папку установки.
Как только вы узнаете, где находится папка установки, она
/home/<username>
находится под<installation folder>\rootfs\home\username
.c:\wsl\ubuntu
/home/<username>
вc:\wsl\ubuntu\rootfs\home\username
ПРИМЕЧАНИЕ. В Linux и Windows права доступа к файлам хранятся по-разному. В настоящее время WSL DrvFS хранит разрешения Linux в виде потоков (метаданных), прикрепленных к файлам, которые вы можете видеть в Windows. Microsoft не рекомендует изменять файлы linux с помощью программ Windows. Возможно, что некоторые приложения Windows повреждают разрешения linux, не замечая этого.
источник
Я полагаю, это может зависеть от того, на каких сборках Windows вы работаете, но для меня в 2018 году в Windows 10 Pro 64-bit, Версия 1709 (сборка ОС 16299.522), а также Версия 1803 (сборка ОС 17134.165) [обновление Windows произошло по иронии судьбы, когда я печатал это], местоположение все еще:
C:\Users\<username>\AppData\Local\lxss
Хитрость в том, что когда вы находитесь у
C:\Users\<username>\AppData\Local
вас, вы не увидитеlxss
папку (если вы не отметили опцию «Скрыть защищенные файлы операционной системы (рекомендуется)» в настройках вашей папки).Однако просто добавьте
\lxss
в адресную строку Windows Explorer, и вы попадете в папку.(Обратите внимание, что у меня не было
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
или ничего подобного, что было упомянуто в ответе Майкла Бондса)Обновить
Оказывается, существует устаревший WSL, который я и установил. Теперь WSL предоставляется через приложение магазина Microsoft. Существуют версии для Ubuntu 18.04 LTS, а также несколько других версий Linux (например, Debian). Если вы хотите быть в курсе, вы можете удалить устаревший WSL и установить версию магазина Microsoft .
Место вашей домашней папки будет зависеть от того, какой из этих типов WSL вы установили.
источник
источник
Четыре шага для Windows 10 pro, чтобы закрепить ваш Debian / Ubuntu / OpenSUSE $ HOME в меню «Пуск» Windows:
Теперь у вас есть домашний каталог, прикрепленный к меню «Пуск». Я пытался создать ярлык, но это никуда не денется.
источник
Мне просто нужно было найти
/etc/environment
использование Ubuntu 16.04 в хранилище Windows 10 NTFS. Я нашел это здесь:/mnt/c/
кC:\
для Windows , номенклатуры./
в\
течение той же самой причине.USER_NAME
имя пользователя Windows.sudo -H Nautilus
чтобы получить разрешения для просмотра пользовательских файлов, хранящихся в WSL.Со стороны Linux (Ubuntu 16.04) номенклатура будет:
источник
С текущей версией Windows 10 Insider (Fast Ring: Windows 10 build 19025.1) вы можете подключить ваш дистрибутив как сетевой диск. WSL доступен как
wls$
, путь - это имя вашего дистрибутива (wsl -l -q
).Например
net use Z: \\wsl$\Debian /PERSISTENT:YES
источник
В Bash для просмотра текущего каталога в проводнике Windows просто введите:
Не пропускайте "." Это откроет Windows Explorer в текущей папке, и вы можете увидеть, где все находится по отношению к остальной части вашей системы Windows.
источник