В linux и macos чаще всего установлен bash а в windows нет

Обновлено: 03.07.2024

Интерфейс командной строки (Command line interface или CLI) - это один из первых интерфейсов взаимодействия с пользоватлем. Но до сих пор очень даже актуальный и востребованный.


CLI - это текстовый способ ввода и вывода информации. То есть вы печатаете команду и видите текстовый результат её работы.


Он зародился в 1960-х годах и унаследовался от телетайпов и печатных машин. Все эти годы активно использовался всеми владельцами компьютеров, пока не появились графические интерфейсы. В середине 1990-х годов графические интерфейсы начали массово завоёвывать рынок и компьютеры стали доступны для большего количества людей. Ведь, согласитесь, перетаскивать файлы, нажимать кнопки мышкой или пальцем и видеть эти кнопки, а так-же фотографии и графики намного интереснее и удобнее, чем вводить команды на клавиатуре и видеть текстовый ответ :)
Но у интерфейса командной строки есть важные преимущества! У него намного лучше отзывчивость, быстрее отображается результат и вы быстрее и более точно сделаете нужное вам действие (если знаете команды, конечно же). Так же у вас больше контроля над программой запущенной в терминале.

Терминал (Terminal) - это программа для работы с помощью интерфейса командной строки.
В программировании вы очень часто будете работать в терминале. В некоторых случаях это будет быстрее, а в других более удобного способа может просто не быть.

В каждой современной операционной системе есть встроенное приложение терминала.
cmd для Windows, Terminal для Linux и MacOS

Запуск терминала


Cmd в Windows

Для запуска терминала в Windows нажмите Пуск, наберите на клавиатуре cmd и нажмите клавишу Enter когда в списке будет выделена программа CMD или нажмите курсором мыши.

Работа в командной строке

Откроется окно программы:

Работа в командной строке

Terminal в Linux

В большинстве дистрибутивов Linux вы можете нажать сочетание клавиш Ctrl + Alt + T, которая запускает Terminal.

Так же в большинстве дистрибутивов Linux ссылка на терминал находится в легко доступном месте, например на рабочем столе.

В Ubuntu Linux можно открыть Launcher клавишей Windows (на клавиатуре), начать печатать terminal и когда иконка приложения Terminal будет выделена - нажать клавишу Enter.


Terminal в MacOS

Нажите сочетание клавиш Command + Пробел - появится поле ввода (Spotlight), наберите в нем Terminal и нажмите клавишу Enter


Работа в терминале


Вы печатаете команду и нажимаете клавишу Enter для того, чтобы её выполнить.
Каждый момент времени вы находитесь только в одной директерии(папке), которая называется "текущей" или "рабочей".

Windows

В Windows при запуске Командной строки, вы всегда находитесь в вашей домашней директории - это домашняя папка вашего пользователя. Она всегда начинается с C:\Users\ . И путь к этой директории Вы видите вначале строки. Например:

Команда dir - содерижимое папки

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду dir и нажмите Enter.


Вы увидите список файлов и папок в текущей директории. Также будет видна дата создания этих файлов.

Команда cd - путь к текущей папке

Вы можете написать команду cd и увидеть где вы сейчас находитесь.

Вы увидите путь к текущей папке. C:\Users\Isaac - означает что вы находитесь в Локальном диске С: в папке Users и в папке Isaac, которая находится внутри папки Users.

Команда cd .. - выйти из текущей папки в родительскую

Вы можете написать cd .. - чтобы перейти в родительскую папку. Например если вы находитесь сейчас в папке C:\Users\Isaac и введете команду cd .. , то вы перейдете в папке C:\Users

И так можно выйти из любой папки, до тех пор пока вы не дойдете до корня Локального диска С:.

Команда cd [название папки] - перейти в другую папку

Вы знаете в какой директории вы сейчас находитесь и вы можете посмотреть список файлов и папок здесь(dir). Теперь если вам нужно перейти в другую внутреннюю директорию, то вы можете написать команду cd [название папки] - т.е. после cd нужно указать название папки, в которую вы хотите перейти. Например cd Isaac или cd Downloads:

Указанная папка должна обязательно находиться в текущей директории.

Запуск программы

Если вы перешли в нужную вам папку, где находится ваша программа или скрипт. Вы можете его запустить. Например программу на языке Python, которая находится в файле program.py:

Вот и все на этом. Теперь вы немного умеете работать в Командной строке Windows

Linux

В Linux при запуске Терминала, вы всегда находитесь в вашей домашней директории - это домашняя папка вашего пользователя. А строка ввода в Терминале обычно выглядит примерно так:

Первым идет имя вашего пользователя, затем за знаком @ имя вашего компьютера и за двоеточием название текущей папки. В самом конце $.

(тильда) - означает что вы находитесь в вашей домашней директории. Это директория /home/isaac - где после /home идет имя вашего пользователя.

Команда ls - содерижимое папки

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду ls и нажмите Enter.


Вы увидите список файлов и папок в текущей директории. Вы также можете ввести команду ls -l чтобы увидеть подробную информацию:

Linux

Команда pwd - путь к текущей папке

Вы можете написать команду pwd и увидеть где вы сейчас находитесь.

Вы увидите путь к текущей папке. /home/isaac - означает что вы находитесь в корневой папке /home и в папке isaac, которая находится внутри папки /home.

Команда cd .. - выйти из текущей папки в родительскую

Вы можете написать cd .. - чтобы перейти в родительскую папку. Например если вы находитесь сейчас в папке /home/isaac и введете команду cd .. , то вы перейдете в папке /home

И так можно выйти из любой папки, до тех пор пока вы не дойдете до корня файловой системы /.

Команда cd [название папки] - перейти в другую папку

Вы знаете в какой директории вы сейчас находитесь и вы можете посмотреть список файлов и папок здесь(dir). Теперь если вам нужно перейти в другую внутреннюю директорию, то вы можете написать команду cd [название папки] - т.е. после cd нужно указать название папки, в которую вы хотите перейти. Например cd isaac или cd Downloads:

Указанная папка должна обязательно находиться в текущей директории.

Запуск программы

Если вы перешли в нужную вам папку, где находится ваша программа или скрипт. Вы можете его запустить. Например программу на языке Python, которая находится в файле program.py:

Вот и все на этом. Теперь вы немного умеете работать в Терминале Linux.

MacOS

В MacOS тоже при запуске Терминала, вы всегда находитесь в вашей домашней директории - это домашняя папка вашего пользователя. А строка ввода в Терминале обычно выглядит примерно так:

Первым идет имя вашего пользователя, и за двоеточием название текущей папки. В самом конце $.

(тильда) - означает что вы находитесь в вашей домашней директории. Это директория /Users/isaac - где после /Users идет имя вашего пользователя.

Команда ls - содерижимое папки

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду ls и нажмите Enter.

Вы увидите список файлов и папок в текущей директории. Вы также можете ввести команду ls -l чтобы увидеть подробную информацию:

Команда pwd - путь к текущей папке

Вы можете написать команду pwd и увидеть где вы сейчас находитесь.

Вы увидите путь к текущей папке. /Users/alisher - означает что вы находитесь в корневой папке /Users и в папке alisher, которая находится внутри папки /Users.

Команда cd .. - выйти из текущей папки в родительскую

Вы можете написать cd .. - чтобы перейти в родительскую папку. Например если вы находитесь сейчас в папке /Users/alisher и введете команду cd .. , то вы перейдете в папке /Users

И так можно выйти из любой папки, до тех пор пока вы не дойдете до корня файловой системы /.

Команда cd [название папки] - перейти в другую папку

Вы знаете в какой директории вы сейчас находитесь и вы можете посмотреть список файлов и папок здесь(dir). Теперь если вам нужно перейти в другую внутреннюю директорию, то вы можете написать команду cd [название папки] - т.е. после cd нужно указать название папки, в которую вы хотите перейти. Например cd alisher или cd Downloads:

Bash используется по умолчанию в каждом дистрибутиве Linux, который я пробовал, по сравнению с альтернативами, такими как Z shell (zsh). Есть ли техническая или историческая причина для этого?

История (приобретенная не в результате исследований, а в результате того, что мы проводим слишком много времени с людьми из Bell Labs):

В начале (если вы считаете начало Unix версии 7) была оболочка Bourne. Стив Борн был первым, кто показал, что оболочка, которая контролирует взаимодействие с пользователем, может быть пользовательской программой, а не особой частью операционной системы. Исторический прорыв. Сама оболочка была относительно чистой для написания сценариев, но не имела редактирования в командной строке или управления заданиями. Введение Борна в Unix Shell все еще полезно для начинающих пользователей сегодня.

Редактировать: я проигнорировал некоторые "предыстории" от Кена Томпсона и Джона Маши, также из Multics. Я уверен, что Борн знал обо всей этой работе (он был в той же лаборатории, 1127, в Bell Labs), но оболочка Борна была окончательной, и более ранняя работа имела небольшое влияние, за исключением интерпретации Стива Борна. Например, хотя Кен позже написал компилятор Plan 9 C и оказал большое влияние на Plan 9, но в статье Тома Даффа об оболочке Plan 9 упоминается только оболочка Борна, а не Томпсона.

Оболочка - это просто пользовательская программа, так что любой может ее написать. Когда Unix версии 7 создавался в Нью-Джерси, Unix Berkeley создавался в Калифорнии. Билл Джой в Беркли написал csh , оболочку Си. Джой добавил управление заданиями и историю, а затем редактирование в командной строке, но не знал о работе Борна и поэтому основывал свой язык на оболочке Томпсона (которую я считал "доисторической" в предыдущей статье). Сообщество Unix любило контроль работы, но им также нравился язык Борна. Для не особенно хорошей полемики против языка csh, см. Программирование на Csh считается опасным. Некоторое время многие люди использовали csh интерактивном режиме для функций управления заданиями и истории, но использовали sh для Борна для написания скриптов. Эта ситуация была не идеальной.

Редактировать: Спасибо DigitalRoss за то, что выправили меня в хронологии csh . Так как я получил образование от людей, которые называют BSD "ересью Беркли", у меня было мало фактов там.

Дейв Корн из Bell Labs сделал блестящую реинжиниринг оболочки Борна, чтобы произвести оболочку Корна (ksh). Он был полностью обратно совместим с Bourne shell sh но обеспечил множество бесценных улучшений. ksh стал основой стандарта POSIX и был поставлен с программным обеспечением Sun. (И это несмотря на то, что Билл Джой покинул Беркли, чтобы помочь основать Sun, и был одним из их ведущих разработчиков программного обеспечения.)

Bell Labs и AT & T тупо не в состоянии сделать ksh открытым исходным кодом. ksh88 широко используется, но наличие источников не является законным. Некоторые люди становятся настолько зависимыми, что становятся цифровыми преступниками.

Редактировать: Это действительно было так глупо? Трудно знать. Беркли уже отдавал Unix, и вскоре последовали другие корпорации, но это была еще та эпоха, когда Corporate Masters верили в то, что стоит брать плату за Unix. Но результаты: AT & T Unix мертва, после того, как ее продали различным сторонам сколько угодно раз. BSD и его производные живы и здоровы, но эти выскочки, называемые "Linux" и "GNU", имеют огромную долю разума, которая когда-то принадлежала Bell Labs.

Free Software Foundation делает "чистую комнату", с нуля внедряя оболочку POSIX, принимая все идеи Дэйва Корна как текущие, плюс в обычном стиле FSF добавляя свои собственные новые функции, такие как программируемое завершение. Они называют это оболочкой "Bourne again", или bash .

В середине 1990-х AT & T открыла исходные ksh93 , но к тому времени уже слишком поздно для широкого распространения. Лицензионное соглашение странно нестандартно. bash и ksh расходятся, и ksh никогда не достигает доли рынка, соответствующей его месту в истории.

Первый адекватный продукт на рынке выигрывает (ш).

Люди любят новые функции (управление заданиями, выполнение команд), но они любят их еще больше, когда их старые сценарии продолжают работать.

Редактировать: профессора инженерии должны оставить историю историкам науки :-)

Подсистема Windows для Linux (Windows Subsystem for Linux, WSL), впервые представленная в Windows 10 версии 1607, стала действительно стабильной функцией в Windows 10 (версия 1709). Теперь пользователи получают среду для тестирования Linux-приложений прямо внутри Windows, которая работает быстрее, чем в виртуальной машине.

Что нужно знать про оболочку Bash в Windows 10

Подсистема Windows для Linux (WSL)

Функция WSL на самом деле не является виртуальной машиной, контейнером или программным обеспечением Linux, скомпилированным для Windows. Windows 10 предлагает полноценную подсистему Windows 10, предназначенную для запуска программного обеспечения Linux. Подсистема основана на проекте Microsoft Astoria, который первоначально предназначался для запуска приложений Android в Windows.

WSL можно рассматривать как противоположность Wine. В то время как Wine позволяет вам запускать приложения Windows прямо в Linux, подсистема Windows для Linux позволяет запускать приложения Linux непосредственно в Windows.

При создании среды оболочки на базе Bash Ubuntu, Microsoft работала совместно с компанией Canonical. Оболочка работает поверх подсистемы и технически не является Linux. Linux является основным ядром операционной системы, которое недоступно в подсистеме. Вместо этого функция WSL позволяет запускать оболочку Bash и исполнять такие же бинарные файлы, которые работают в Ubuntu Linux. Многие сторонники открытого программного обеспечения считает, что операционную систем Linux правильно называть именно “GNU/Linux”, потому что на ядре Linux работает много программного обеспечения GNU. Оболочка Bash, которую вы получаете в Windows 10, как раз содержит утилиты GNU и другое программное обеспечение.

Хотя эта функция изначально называлась “Ubuntu Bash в Windows”, она также позволяет запускать Zsh и другие оболочки командной строки. Сейчас поддерживаются и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server вместо Ubuntu, поддержка Fedora скоро будет реализована.

При использовании оболочки имеются некоторые ограничения. По умолчанию фоновое серверное ПО и графические приложения Linux не поддерживаются. Кроме того, в данной среде работают не все приложения командной строки, потому что функция не идеальна.

Как установить Bash в Windows 10

Данная функция не работает в 32-разрядной версии Windows 10, поэтому убедитесь, что вы используете 64-разрядную версию.

Если вы используете 64-битную версию Windows, то для начала работы перейдите в Панель управления > Программы и компоненты > Включение и отключение компонентов Windows. Отметьте галочкой пункт Подсистема Windows для Linux и нажмите кнопку ОК.

Подсистема Windows для Linux

Затем нажмите “Перезагрузить сейчас”, чтобы перезапустить компьютер и применить изменения. Функция не будет работать до перезагрузки.

Примечание: начиная с Windows 10 (версия 1709), чтобы использовать эту функцию вам больше не нужно включать режим разработчика в приложении Параметры. Вам просто нужно включить подсистему в окне “Компоненты Windows”.

После перезагрузки ПК откройте Магазин Microsoft и выполните поисковый запрос “Linux”. Откроется список доступных для установки приложений.

Магазин Microsoft

Примечание: начиная с Windows 10 (версия 1709), вы больше не сможете устанавливать Ubuntu, выполнив команду bash. Вместо этого вам нужно установить Ubuntu или другой дистрибутив Linux из Магазина Microsoft.

Итак, вы увидите список всех дистрибутивов Linux, доступных в Магазине Microsoft. Начиная с Windows 10 (версия 1709), в магазине предлагаются Ubuntu, openSUSE Leap, openSUSE Enterprise, Debian Linux, Arch Linux и Kali Linux.

Чтобы установить конкретный дистрибутив, выберите его и нажмите кнопку “Получить” или “Установить”. В результате запуститься обычная установка, как и в случае с другими приложениями из Магазина Microsoft.

Установить Ubuntu через Магазин Microsoft

Если вы не знаете, какую среду Linux установить, мы рекомендуем Ubuntu. Этот популярный дистрибутив Linux был ранее единственным доступным вариантом, но теперь доступны другие системы Linux для различных нужд пользователей.

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

Как использовать оболочку Bash и устанавливать программное обеспечение Linux

После успешной установки вы получаете полноценную командную оболочку Bash на основе Ubuntu или другого выбранного дистрибутива Linux.

Поскольку в системах Linux используются одинаковые бинарные файлы, вы можете использовать команды Ubuntu apt или apt-get, чтобы установить программное обеспечение из репозитория Ubuntu. Просто используйте любую команду, которую вы обычно используете в этом дистрибутиве Linux. У вас будет доступ ко всему программному обеспечению командной строки Linux там, хотя некоторые приложения могут работать не идеально.

Чтобы открыть установленную среду Linux, просто откройте меню Пуск и выполните поиск любого дистрибутива, который вы установили. Например, если вы установили Ubuntu, запустите ярлык Ubuntu.

запустите ярлык Ubuntu

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

При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они не должны совпадать с вашим именем пользователя и паролем Windows, и будут использоваться в среде Linux.

При первом запуске среды Linux

Например, если вы введете “comss” и “qwerty” в качестве своих учетных данных, ваше имя пользователя в среде Linux будет “comss”, а пароль, который вы используете в среде Linux, будет “qwerty”, независимо от имени пользователя и пароля Windows.

Вы можете запустить установленную среду Linux с помощью команды wsl. Если у вас установлено несколько дистрибутивов Linux, вы можете выбрать среду Linux по умолчанию, которую будет запускаться этой командой.

Если у вас установлен Ubuntu, вы также можете запустить команду ubuntu для ее запуска. Для OpenSUSE Leap 42 используйте opensuse-42. Для SUSE Linux Enterprise Server 12 используйте sles-12. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Microsoft.

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

Если у вас есть опыт использования оболочки Bash в Linux, MacOS или на других платформах, вы будете чувствовать себя уверенно.

В Ubuntu нужно использовать префикс команд sudo чтобы запускать их с правами root. Пользователь “root” на платформах UNIX имеет полный доступ к системе, аналогично “Администратору” в Windows. Файловая система Windows расположена по пути в /mnt/c в среде оболочки Bash.

В WSL можно использовать привычные команды терминала Linux. Если вы привыкли к стандартной командной строке Windows с ее командами DOS, вот несколько основных команд, общих для Bash и Windows:

  • Изменить директорию: cd в Bash, cd или chdir в DOS
  • Показать содержимое директории: ls в Bash, dir в DOS
  • Переместить или переименовать файл: mv в Bash, move и rename в DOS
  • Копировать файл: cp а Bash, copy в DOS
  • Удалить файл: rm в Bash, del или erase в DOS
  • Создать директорию: mkdir in Bash, mkdir в DOS
  • Использовать текстовые редактор: vi или nano в Bash, edit в DOS

Важно помнить, что, в отличие от Windows, оболочка Bash и имитирующая ее Linux среда чувствительны к регистру. Другими словами, файл с названием “File.txt” отличается от файла с названием “file.txt”.

Ubuntu

Для установки и обновления программного обеспечения среды Ubuntu нужно будет воспользоваться командой apt. Обязательно прикрепите эти команды к sudo, что заставляет их запускаться от пользователя root. Ниже представлены базовые команды apt-get, которые вам нужно знать:

  • Загрузить обновленную информацию о доступных пакетах: sudo apt update
  • Установить пакет приложения: sudo apt install packagename (замените packagename на название пакета)
  • Удалить пакет приложения: sudo apt remove packagename (замените packagename на название пакета)
  • Выполнить поиск доступных пакетов: sudo apt search word (замените word на ключевое слово в названии или описании пакета)
  • Загрузить и установить новейшие версии установленных пакетов: sudo apt upgrade

После того, как вы загрузили и установили приложение, вы можете ввести его имя в оболочку и нажать Enter для его запуска.

Примечание: Программное обеспечение, которое вы устанавливаете в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или из другого места в Windows, но только если вы запустите команду bash -c.

Дополнительно: установка родного шрифта Ubuntu

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

Чтобы установить шрифт, сначала загрузите семейство шрифтов Ubuntu с веб-сайта Ubuntu. Откройте загруженный .zip-файл и найдите файл UbuntuMono-R.ttf. Это шрифт Ubuntu с фиксированный шириной, который используется только в терминале. Это единственный шрифт, который вам нужно установить.

Дважды щелкните файл UbuntuMono-R.ttf, и вы увидите предварительный просмотр шрифта. Нажмите “Установить”, чтобы установить шрифт в систему.

Чтобы моноширинный шрифт Ubuntu стал доступен в консоли, вам нужно добавить параметр в реестр Windows.

Запустите редактор реестра, используя сочетание Windows + R , введя запрос regedit и нажав Enter.

Перейдите по следующему пути:

Щелкните правой кнопкой мыши в правой панели и выберите Создать > Строковый параметр . Назовите новое значение 000. Дважды щелкните на строке “000”, которую вы создали, а затем введите Ubuntu Mono в качестве значения.

Затем запустите окно Ubuntu, щелкните правой кнопкой мыши строку заголовка и выберите команду “Свойства”. Перейдите на вкладку “Шрифт” и выберите “Ubuntu Mono” в списке шрифта.

Недавно мы говорили о том, как выполнять различные Linux утилиты в Windows. Но для Windows 10 это, похоже, уже неактуально. Уже давно в Windows 10 появилась нативная поддержка оболочки Bash, в окружении дистрибутива Ubuntu благодаря подсистеме Linux для Windows 10.

Вы можете запускать различные дистрибутивы Linux в Windows без виртуализации, а с недавних пор, можно даже полноценно заставить работать графический интерфейс, правда для этого уже нужна вторая версия WSL. В этой статье мы рассмотрим как установить Linux в Windows 10.

Что такое WSL?

В начале цикла разработки Windows 10, Microsoft открыла страницу обсуждения и голосования за новые функции. Там зашел разговор о командной строке Windows. Разработчики спросили сообщество, что им не нравится в командной строке Windows и какие функции они хотели бы увидеть в новой версии.

Многие пользователи заявили что им нужны небольшие улучшения командной строки, другие же сказали что неплохо было бы иметь возможность использовать инструменты Linux / Unix и Bash в Windows 10. Много пользователей согласились с тем, что нужно сделать проще использование этих инструментов в Windows.

Прислушиваясь к голосу сообщества, в Microsoft первым делом улучшили CMD, PowerShell и другие инструменты командной строки. А во-вторых, они сделали, то что казалось невероятным несколько лет назад, они добавили реальный, нативный Bash вместе с поддержкой всех необходимых инструментов командной строки, работающих непосредственно на Windows, в среде, которая ведет себя как Linux. Это не какая-нибудь виртуальная машина, это реальный Linux в Windows.

Для реализации этого Microsoft построили новую инфраструктуру в Windows, это Windows Subsystem for Linux или WSL, на основе которой работает образ окружения Ubuntu, поставляемый партнером Canonical. Эта функция позволит разработчикам более эффективно использовать инструменты Linux. Инфраструктура основана на уже заброшенном проекте, Project Astoria, который должен был использоваться для запуска Android-приложений в Windows. Ее можно расценивать как противоположность Wine, только Wine запускает приложения Windows в Linux, подсистема Linux позволяет выполнять приложения Linux в Windows, точнее, только консольные приложения Bash в Windows 10.

С технической точки зрения, это вообще не Линукс. Каждая система GNU Linux должна быть основана на ядре Linux, здесь же просто есть возможность выполнять двоичные файлы, которые работают в Ubuntu.

С каждой новой версией в WSL всё меньше ограничений, вы уже можете использовать сервисы, а также с WSL 2 стали доступны графические приложения. Решение предназначено для разработчиков, которые хотят запускать linux-утилиты из командной строки Windows. Да, эти команды имеют доступ к файловой системе Windows, но вы не можете использовать их для автоматизации своих задач или в стандартной командной строке Windows. Теперь давайте разберемся как установить WSL в Windows 10.

Установка WSL в Windows 10

1. Проверка версии системы

Вы можете установить WSL в Windows 10 начиная с версии Windows 10 Insider Preview 14316, а для WSL версии 2, которая принесла много улучшений нужно обновление Windows 10 19041 или новее. Сначала убедитесь, что у вас правильная версия Windows. Для этого октройте PowerShell кликнув правой кнопкой по иконке пуск:


Затем выполните команду:


Если отображается версия как на снимке экрана или выше, значит всё хорошо. Иначе идите обновлять систему.

2. Активация WSL и виртуализации

Чтобы активировать компонент Windows Subsystem for Linux можно использовать уже открытую командную строку PowerShell. Для этого выполните:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Затем выполните ещё одну команду чтобы включить компонент виртуализации Hyper-V:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Когда эта работа будет выполнена перезапустите компьютер, чтобы все компоненты установились.

3. Активация WSL 2

Чтобы установить WSL 2 необходимо скачать пакет с новым ядром с официального сайта Microsoft. Кликните по ссылке download the latest WSL2 Linux kernel:


Затем установите загруженный файл:


Чтобы всегда по умолчанию использовалась версия WSL 2 необходимо выполнить такую команду:

wsl --set-default-version 2


4. Установка Linux

Далее вам надо установить какой-либо дистрибутив Linux из магазина Microsoft. Достаточно просто открыть магазин и набарть в поиске имя дистрибутива, например Ubuntu, затем нажмите кнопку Get:


Дождитесь завершения установки и запустите загруженный дистрибутив из главного меню:


5. Настройка дистрибутива

При первом запуске будет выполняться настройка окружения. Вам необходимо указать имя пользователя:


Затем два раза пароль:


После этого вы сможете пользоваться оболочкой Bash в Windows 10:

6. Установка X сервера


Затем просто установите.

7. Запуск X сервера

После завершения установки на рабочем столе появится ярлык. В первом окне выберите Multipe windows чтобы окна программ, выполняемых на X сервере интегрировались в систему:


Затем выберите, что клиентов запускать не надо - Start no client:


Поставьте все галочки, затем нажмите кнопку Next, а потом Finish для завершения установки.


Брандмауэр Windows тоже попросит разрешить доступ этому приложению в сеть. Надо разрешить.

8. Настройка подключения

Чтобы настроить подключение к X серверу из WSL нужно узнать какой адрес система Windows присвоила WSL окружению, для этого вернитесь к PowerShell и выполните:


В данном случае это 172.25.224.1. Выполните в окружении дистрибутива такую команду:

Шаг 9. Установка и запуск приложений

Для установки приложений в дистрибутив необходимо сначала обновить списки репозиториев:

sudo apt update

Затем установите графическое приложение, например, Firefox:

sudo apt install firefox

После этого его можно запустить:

На снимке вы видите графический интерфейс WSL для браузера Firefox, запущенного в Linux:


Использование WSL

Установка WSL Windows 10 завершена. Теперь у вас есть полноценная командная строка Ubuntu в Windows с оболочкой Bash. Поскольку используются одни и те же двоичные файлы, вы можете устанавливать программное обеспечение с помощью apt из репозиториев Ubuntu. Можно установить любое приложение, но не все будут работать.

Если вы раньше уже пользовались Bash в Linux или MacOS, то будете чувствовать себя здесь как дома. Здесь не нужно использовать команду sudo, поскольку у оболочки уже есть права администратора. Ваша файловая система Windows доступна в /mnt/c.

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

  • cd - изменить текущий каталог;
  • ls - посмотреть содержимое каталога;
  • mv - переместить или переименовать файл;
  • cp - скопировать файл;
  • rm - удалить файл;
  • mkdir - создать папку;
  • vi или nano - открыть файл для редактирования.

Важно также понимать, что в отличии от WIndows, оболочка Bash и ее окружение чувствительны к регистру. Другими словами, file.txt и File.txt, это совсем разные файлы.

Для установки и обновления программ необходимо использовать команду apt-get. Вот небольшой список ее параметров:

  • apt update - скачать списки программного обеспечения из репозиториев;
  • apt install пакет - установить пакет;
  • apt search слово - поиск пакета по слову;
  • apt upgrade - загрузка и установка последних обновлений дистрибутива.

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

Выводы

Использование Linux в Windows как нельзя лучше подойдёт для разработчиков, но может понадобиться и начинающим пользователям, которые хотят познакомиться с системой. А что вы обо всём этом думаете? Использовали ли когда-нибудь WSL? Напишите в комментариях!

С недавним Anniversary Update пользователи Windows 10 получили много новых улучшений и возможностей. Одной из них стала возможность использовать обычную, знакомую всем Linux-оидам командную оболочку Bash. На самом деле о данном нововведении было известно еще с весны, но на тот момент попробовать Bash на Windows 10 могли лишь участники программы предварительной оценки. Теперь же он доступен для всех желающих. И ниже мы покажем, каким образом можно установить и как использовать Bash в Windows 10. А на самом деле все, конечно, очень интересно: в Linux теперь можно установить PowerShell, а Bash в Windows.

Немного пояснений

Принцип работы Windows подсистемы для Linux похож на Wine: системные вызовы Linux приложений в реальном времени транслируются в системные вызовы Windows. Так же, как Wine позволяет запускать Window приложения под Linux новая технология Microsoft дает возможность запускать Linux ПО в своей ОС.

Работа редмондовцев над новой функцией велась совместно с Canonical, поэтому сейчас в Windows 10 используется Ubuntu.

Как установить Bash в Windows 10

Чтобы установить Bash в Windows 10 вы должны либо быть участником программы предварительной оценки, либо у вас должно быть установлено Windows 10 Anniversary Update. Так же обратите внимание, что новая возможность доступна лишь для 64-битных систем.

Если ваш компьютер соответствует всем выше перечисленным требованиям, можно приступать к установке:

Пришло время запустить установленный Bash:

Теперь Bash открывается так

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

Теперь у вас есть командная строка Bash из Ubuntu. Так как это тот же шелл, что и в обычной Ubuntu, вы можете использовать стандартные ее команды apt-get для установки ПО с репозиториев. У вас есть доступ ко всем консольным Linux утилитам, однако имейте в виду, что не все они будут работать стабильно, поскольку данная подсистема находится еще в бета.

Важно помнить, что в отличии от Windows, Bash чувствителен к регистру. То есть Text.txt и text.txt для него разные файлы.

Установка и удаление программ происходит при помощи менеджера пакетов APT, для чего используется команда apt-get. Кроме того, помните об утилите sudo которая дает повышенные права для установки ПО и добавляется в самое начало команды:

Помните, что ПО установленное в Bash доступно лишь в нем. Вы не сможете его запустить через командную строку, PowerShell или каким-либо другим способом.

Вкратце это все. Надеюсь вам было интересно и вы теперь сможете попробовать Bash в Windows 10. Напишите в комментариях о своем опыте.

Читайте также: