Linux внутри Windows 10
Если до выхода Windows 10 единственным способом запуска Linux на локальном компьютере без перезагрузки системы было использование одной из виртульных машин, то с выходом Anniversary Update у нас появилась возможность использовать практически полноценный терминал Linux, не покидая привычной среды Windows. Многие разработчики предпочитают работать в терминале под упралением bash из-за доступности большого числа мощных и хорошо отлаженных утилит, облегчающих ежедневные рутинные задачи по обработке файлов. То, что Майкрософт объединила bash со своей операционной системой, можно рассматривать как очередной шаг компании навстречу сообществу разработчиков под Linux.
Группа программистов Microsoft проделала огромную работу, чтобы сделать возможным преобразование "на лету" системных вызовов Linux в системные вызовы Windows. Работа ещё не завершена и поддержка Linux будет продолжать развиваться, но уже сейчас мы можем полноценно использовать терминал bash в своей работе.
Реализация bash в Windows 10 оказывается очень успешной: нам доступен терминал в точности с теми же утилитами, которыми мы пользовались в Linux. И хотя bash работает в "песочнице" мы имеем полный доступ к файловой системе Windows и наравне с "родными" приложениями Windows можем работать с одними и теми же файлами и директориями.
Но ограничения всё же есть. Как заявляет Майкрософт
Во-первых, подобная технология реализована в Windows впервые и она не без оснований находится на стадии beta-тестирования. Мы знаем, что придётся столкнуться со множеством трудностей и что-то обязательно не будет работать. Не ждите, что абсолютно все скрипты и программы, доступные в bash, будут работать гладко. Белые пятна в разработке будут оставаться...
Во-вторых, хотя вам и будет доступен bash и многие утилиты командной строки Linux непосредственно под Windows, важно понимать, что данная технология в первую очередь нацелена на разработчиков для помощи им в создании приложений под любые сценарии и платформы. Это ни в коей степени не серверная платформа, она не предназначена для размещения на ней web-сайтов, организации инфраструктуры предприятий, и подобных вещей...
Не ждите также работы с графическими приложениями Ubuntu. Только командная строка. Только для разработчиков.
Ну и, наконец, программы и скрипты bash не смогут взаимодействовать с программами Windows. Вы не сможете запускать команды bash из PowerShell, так же как не сможете запускать программы Windows внутри терминала. Это означает, что вы не можете использовать команды Windows в скриптах внутри bash. Windows и bash работают с одними и теми же файлами и всё, ничего больше!