Как получить доступ к папкам Windows из Bash в Ubuntu в Windows

101821
Sergei Wallace

В приложении Bash on Ubuntu для Windows у меня есть только

root@localhost:~# ls -a .bash_history .bashrc .profile 

Как получить доступ ко всем папкам Windows, таким как «Документы», «Загрузки» и т. Д.?

86

2 ответа на вопрос

145
Ben N

You'll find the Windows C:\ structure at /mnt/c/ in the Bash environment.

Therefore, my Documents folder is at /mnt/c/Users/Ben/Documents/.

почему mnt не появляется с ls -a? Sergei Wallace 8 лет назад 0
Вы были в каталоге `~`, ваш дом в среде Bash, который не является корневым (`/`). Если бы вы сначала сделали `cd /`, вы бы увидели `mnt`. Ben N 8 лет назад 4
Когда речь идет о создании сценариев, второе предложение не обязательно следует из первого. Windows позволяет перемещать папку с документами повсюду. Было бы неплохо иметь возможность читать эту информацию из реестра Windows или подобного при использовании bash. Joel Coehoorn 7 лет назад 0
как я могу получить доступ к материалам за пределами C? например, я подключил телефон через MTP, и его файлы отображаются по пути «This PC \ PhoneName» Michael 7 лет назад 1
@Michael К сожалению, устройства MTP очень отличаются от обычных файловых систем. Они [даже не доступны из обычной командной строки] (http://superuser.com/a/377008/380318), поэтому я не знаю, как получить к ним доступ из BoUoW. Ben N 7 лет назад 1
Спасибо Бен! Заметил комментарий об использовании сервера WebDAV на устройстве, и это, кажется, работает! Michael 7 лет назад 0
Что ж, мне придется отказаться от WebDAV в качестве правильного решения ... при передаче 1005 файлов изображений через WebDAV 925 были повреждены (что было подтверждено md5 для исходного и скопированного файла)! Michael 7 лет назад 0
поэтому просто создайте ссылку на диск в вашей домашней папке: `ln -s / mnt / c / .` Yar 7 лет назад 0
Я получаю ошибку "Нет такого файла или каталога". Iqbal 6 лет назад 0
@Iqbal Обратите внимание, что в Linux учитывается регистр, поэтому при необходимости обязательно вводите заглавные буквы. Если это не поможет, не могли бы вы «зайти» в каталоги по одному и сказать мне, в чем проблема? Ben N 6 лет назад 0
11
Keith OYS

В качестве альтернативы ,

  1. Удерживая Shiftто время как щелчок правой кнопкой мыши на нужном каталоге Windows ,
  2. Выберите « Открыть окно PowerShell здесь »

PowerShell Context Menu

  1. Как только вы в PowerShell, введите bash

Вы сможете напрямую использовать любые команды Bash для работы с файлами и папками в этом каталоге Windows. Используя этот метод, вам не нужно вручную заходить cdв ваши каталоги, особенно если у вас есть глубоко укорененный каталог для доступа.


Обновление от Windows 10 1809:

Выше все еще работает, но теперь есть более простой способ.

  1. Удерживая Shiftто время как щелчок правой кнопкой мыши на нужном каталоге Windows ,
  2. Выберите « Открыть оболочку Linux здесь »
В контекстном меню, которое щелкнуло правой кнопкой мыши, я не вижу здесь элемента для окна Open PowerShell. Yu Shen 6 лет назад 1
да, то же самое здесь ..... Maksim Kniazev 5 лет назад 1
@YShen Убедитесь, что вы установили последнее обновление Windows 10. Например, текущая версия - 1803, и у нее есть опция. Я понимаю, что некоторые машины, которые не были обновлены, все еще имеют CMD по умолчанию и, следовательно, не имеют этой опции в контекстном меню. Keith OYS 5 лет назад 0
Это не работает, команды bash открываются в каталоге пользователя Ubuntu по умолчанию, а не в каталоге Windows mxdsp 5 лет назад 0
@mxdsp Каковы были ваши шаги и ваша версия Windows? Пожалуйста, опишите это для меня, чтобы я мог помочь вам в дальнейшем. Если вы сделали это правильно, вы попадете в ваш текущий каталог Windows. Не мудрое понижение голоса только потому, что оно не работает для вас. Keith OYS 5 лет назад 0