‼️ 4 способа запустить команды Linux в Windows
Краткое описание: Хотите использовать команды Linux, но не хотите выходить из Windows? Вот несколько способов запуска команд Linux bash в Windows.
Если вы изучаете скрипты оболочки, вероятно, как часть вашей учебной программы, вам нужно использовать команды Linux для практики команд и скриптов.
В вашей школьной лаборатории может быть установлен Linux, но лично у вас нет ноутбука с Linux, а обычный компьютер с Windows, как и у всех.
Ваша домашняя работа должна выполняться с командами Linux, и вы задаетесь вопросом, как запускать команды и скрипты Bash в Windows.
Вы можете установить Linux вместе с Windows в режиме двойной загрузки.
Этот метод позволяет вам выбрать Linux или Windows при запуске компьютера.
Но взять на себя все усилия, чтобы связываться с разделами с единственной целью запуска команды Linux, может быть не для всех актуальна.
Вы также можете использовать терминалы Linux онлайн, но ваша работа не будет сохранена.
Хорошая новость заключается в том, что есть несколько способов запуска команд Linux внутри Windows, как и в любом обычном приложении. Разве это не круто?
Использование команд Linux внутри Windows
Как “промоутер” Linux, я бы хотел, чтобы все больше и больше людей использовали «настоящий» Linux, но я понимаю, что иногда это не является приоритетом.
Если вы просто хотите попрактиковаться в Linux, вы можете использовать один из этих методов для запуска команд Bash в Windows.
1. Используйте оболочку Linux Bash в Windows 10
Знаете ли вы, что вы можете запустить дистрибутив Linux внутри Windows 10?
Подсистема Windows для Linux (WSL) позволяет запускать Linux внутри Windows.
В следующей версии WSL будет использоваться настоящее ядро Linux внутри Windows.
Этот WSL, также называемый Bash для Windows, дает вам дистрибутив Linux в режиме командной строки, работающий как обычное приложение Windows.
Не пугайтесь режима командной строки, потому что ваша цель – запускать команды Linux. Это все, что вам нужно.
Вы можете найти некоторые популярные дистрибутивы Linux, такие как Ubuntu, Kali Linux, openSUSE и т. д. В Магазине Windows.
Вам просто нужно скачать и установить его, как любое другое приложение Windows.
После установки вы можете запускать все необходимые вам команды Linux.
2. Используйте Git Bash для запуска команд Bash в Windows
Вы, наверное, знаете, что такое Git.
Это система контроля версий, разработанная создателем Linux Линусом Торвальдсом
Git для Windows – это набор инструментов, который позволяет использовать Git как в командной строке, так и в графических интерфейсах.
Одним из инструментов, включенных в Git для Windows, является Git Bash.
Приложение Git Bash предоставляет и слой эмуляции для командной строки Git.
Помимо команд Git, Git Bash также поддерживает множество утилит Bash, таких как ssh, scp, cat, find и т. д.
Другими словами, вы можете запускать множество общих команд Linux / Bash, используя приложение Git Bash.
Вы можете установить Git Bash в Windows, скачав и бесплатно установив инструмент Git для Windows с веб-сайта:
3. Использование команд Linux в Windows с Cygwin
Если вы хотите запускать команды Linux в Windows, рекомендуется Cygwin.
Cygwin был создан в 1995 году для обеспечения POSIX-совместимой среды, которая изначально работает в Windows.
Cygwin – это бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое сотрудниками Red Hat и многими другими добровольцами.
В течение двух десятилетий пользователи Windows используют Cygwin для запуска и выполнения команд Linux / Bash.
Вы можете скачать Cygwin с официального сайта, который будет показан ниже.
4. Используйте Linux на виртуальной машине
Другой способ – использовать программное обеспечение для виртуализации и установить в него Linux.
Таким образом, вы устанавливаете дистрибутив Linux (с графическим интерфейсом) внутри Windows и запускаете его как обычное приложение Windows.
Этот метод требует, чтобы в вашей системе было достаточно оперативной памяти, по крайней мере, 4 ГБ, но лучше, если у вас более 8 ГБ.
Здесь хорошо то, что вы по-настоящему почувствуете использование настольного Linux. Если вам нравится интерфейс, вы можете позже полностью перейти на Linux.
Существует два популярных инструмента для создания виртуальных машин в Windows: Oracle VirtualBox и VMware Workstation Player.
Вы можете использовать любой из двух. Лично я предпочитаю VMware.
BASH – оболочка пользователя подсистемы Windows для Linux (WSL) в Windows 10.
Формат командной строки:
bash [длинные опции GNU] [опции] файл_со_скриптом.
—debug
—debugger
—dump-po-strings
—dump-strings
—help
—init-file
—login
—noediting
—noprofile
—norc
—posix
—rcfile
—restricted
—verbose
—version
Для получения дополнительной информации о параметрах командной строки используется команда:
Для получения подсказки по внутренним командам bash используется команда:
В системе могут быть установлены несколько дистрибутивов Linux, и один из них является дистрибутивом по умолчанию. Утилита работает именно с данным дистрибутивом. Список зарегистрированных в системе дистрибутивов можно получить с помощью команд:
Первым в списке дистрибутивов отображается дистрибутив по умолчанию:
kali-linux (по умолчанию)
Ubuntu
SLES-15
ubuntu2
Ubuntu-18.04
Дистрибутив по умолчанию можно сменить с помощью команд wsl или wslconfig :
При запуске bash.exe без параметров, программа выполняется в интерактивном режиме, ожидая ввода команд пользователем. Строка приглашения содержит имя пользователя, компьютера и текущий каталог, унаследованный из среды windows:
SHELL=/bin/bash
WSL_DISTRO_NAME=kali-linux
NAME=Win10n
PWD=/mnt/c/WINDOWS/system32
LOGNAME=user
HOME=/home/user
LANG=en_US.UTF-8
TERM=xterm-256color
USER=user
SHLVL=1
WSLENV=
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin /mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32 /WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32 /OpenSSH/: /mnt/c/Users/usr/AppData/Local/ Microsoft/WindowsApps
HOSTTYPE=x86_64
_=/usr/bin/env
Работу в среде выбранного дистрибутива Linux следует начать с обновления пакетов программ, например, для пользователя kali-linux :
Для случая выполнения оболочки bash в контексте учетной записи root, команда sudo не нужна:
apt update
Для удобства работы можно установить файловый менеджер Midnight Commander :
И, например, на левой панели отобразить файловую структуру Linux, а на правой – файловую структуру Windows:
Оболочка позволяет выполнять запуск программ как Linux, так и Windows:
В случае запуска из текущего каталога, полный путь указывать не обязательно:
Выполняемые командой bash скрипты (сценарии) могут находиться как в файловой системе Linux, так и в файловой системе Windows:
Подсистема Windows для Linux не предоставляет пользователю полноценное ядро Linux, по крайней мере, на момент реализации в Windows 10.0.18362.295. По этой причине, например, невозможно установить драйверы ядра (kernel drivers), что накладывает определенные ограничения на использование программного обеспечения, которому необходим доступ к оборудованию – датчикам температуры, напряжения, контроля скорости вращения вентиляторов и т.п. (lm-sensors и ему подобное ПО).
При работе с командной строкой в Windows 10 вместо bash удобнее пользоваться новой командой wsl, а также новым Терминалом Windows вместо стандартной консоли.
Установка консольной Linux в Windows 10
На данный момент консольные Linux свободно устанавливаются из Microsoft Store. Они идеально подходят для разработки, работы с файловой системой, удаленного администрирования и тысячи других задач. В этом руководстве я познакомлю вас с настройкой подсистемы Windows для Linux (WSL) на вашем компьютере с Windows, чтобы вы могли в полной мере использовать свои навыки работы с командной строкой UNIX. Для активации подсистемы Windows для Linux на вашем компьютере должна быть установлена 64-разрядная Windows 10 версии 1607 и выше. Если ваша версия ниже вам придется обновить Windows, прежде чем активировать подсистему.
Активация Bash или WSL
Подсистема Windows для Linux (WSL) является встроенной функцией Windows 10, но ее необходимо включить вручную, и есть несколько способов это сделать:
С помощью команды.
Для этого запускаем командную строку — Power Shell, от имени администратора. Далее набираем следующую команду:
Система попросит перезагрузку — соглашаемся, набираем «Y» и нажимаем «Enter».
С помощью параметров.
Открываем параметры > Приложения > Приложения и возможности. Находим «Сопутствующие параметры» и нажимаем «Программы и компоненты». В открывшемся окне выбираем «Включение или отключение компонентов Windows». Ищем в списке «Подсистема Windows для Linux» и ставим галочку. Перезагружаем компьютер.
Установка дистрибутива Linux
После перезагрузки компьютера, следующим шагом будет установка дистрибутива Linux. Откройте Microsoft Store — поищите «Microsoft Store» в строке поиска Windows, или найдите его в меню «Пуск». В приложении магазина выполните поиск по запросу «Linux». Выберите необходимый вам дистрибутив (в большинстве случаев выбирают Ubuntu) и нажмите «Получить» и «Установить».
Добавление учетной записи пользователя Linux
После завершения загрузки и установки приложения — запускаем его. Откроется терминал, и система предложит создать учетную запись пользователя. Введите предпочитаемое имя пользователя и пароль. Это могут быть любые имя пользователя и пароль, не обязательно использовать ваше имя пользователя и пароль от Windows. Обратите внимание, что вам будет предложено ввести ваш пароль дважды, и ваш пароль не будет отображаться в терминале, во время его ввода.
После создания аккаунта вы можете посмотреть где находится текущий рабочий каталог введя команду:
Каталог по умолчанию может быть неудобен для работы с файлами в вашей файловой системе Windows, поэтому необязательным шагом, может быть изменение каталога по умолчанию, чтобы не приходилось каждый раз переходить в нужный вам каталог после запуска командной строки.
Изменение рабочего каталога по умолчанию
Затем, что бы перезапустить командную строку вводим следующую команду:
Командная строка будет перезапущена с нашим новым каталогом по умолчанию в качестве рабочего каталога.
В командной строке Windows начали работать команды Linux. Видео
Не прошло и полвека
Компания Microsoft представила приложение Windows Terminal для Windows 10, в котором интегрированы функции командной строки PowerShell и CMD, а также доступ к Windows Subsystem for Linux (WSL) для запуска Linux-приложений под Windows.
Согласно официальному заявлению Microsoft, помимо централизованного доступа к средам PowerShell, Cmd и WSL, утилита Windows Terminal обеспечивает поддержку нескольких вкладок, а также выбор темы и кастомизацию для тех, кто хочет точнее настроить Terminal под свои нужды.
В Windows Terminal также представлена поддержка эмоджи (смайликов) и рендеринга с помощью графических ускорителей.
Ключевые особенности Windows Terminal
По многочисленным просьбам пользователей, в приложении Terminal появилась поддержка нескольких вкладок (Multiple tabs). Теперь можно открывать любое число вкладок, каждая из которых связана с оболочкой командной строки или приложением на выбор пользователя – например, Command Prompt, PowerShell, Ubuntu под WSL, Raspberry Pi через SSH и т.п.
Для работы Windows Terminal используется движок рендеринга текста на базе DirectWrite/DirectX с поддержкой графических ускорителей. За счет этого появилась возможность отображать любые текстовые символы, иероглифы или символы из любых шрифтовых наборов, включая наборы символов японского, корейского и китайского языков, смайлики, иконки, программные лигатуры и многое другое. По данным Microsoft, новый движок рендерит текст намного быстрее, чем GDI-движок предыдущей консоли.
В дополнение, пользователям также будет доступен новый моноширинный шрифт Microsoft с улучшенным видом и поддержкой лигатур. Новый шрифт поставляется с открытым исходным кодом и имеет собственный репозиторий.
Windows Terminal обладает широкими возможностями для настройки и конфигурирования. Настройки хранятся в отдельном структурированном текстовом файле.
Настройки терминала позволяют создавать несколько «профилей» для каждой оболочки, приложения или инструмента, будь то PowerShell, командная строка, Ubuntu или SSH-соединения с Azure или интернетом вещей. Профили могут обладать собственным сочетанием стилей и размеров шрифта, цветовых тем, размытия фона, уровней прозрачности и т.д.
Windows Terminal устанавливается и работает наряду с уже имеющимся приложением Windows Console. Если при прямом запуске Cmd, PowerShell / и т.д., они подключатся к традиционной Console точно так же, как это было раньше.
Таким образом разработчики сохранили обратную совместимость, и при этом обеспечили полный доступ к Windows Terminal. Согласно заявлению Microsoft, Windows Console останется в составе Windows в обозримом будущем для поддержки нынешних и устаревших приложений и систем.
О доступности
Microsoft представила Windows Terminal в рамках конференции разработчиков Microsoft Build 2019, однако первая пробная версия приложения станет доступна только в середине июня. После официального запуска Windows Terminal будет доступна в магазине приложений Microsoft Store для Windows 10.
Ближе к концу 2019 г. ожидается выпуск первой официальной версии Windows Terminal 1.0. В дальнейшем планируется, что утилита будет получать регулярные обновления, расширяющие и дополняющие ее функциональность.
Приложения Windows Terminal и Windows Console представлены в открытом виде, поэтому уже сейчас их можно клонировать, собирать, запускать и тестировать из репозитория GitHub.
В последнее время Microsoft активно развивает поддержку функциональных удобств для программистов и поддержку сообщества Linux. Ранее CNews писал о том, что Microsoft внедрила поддержку командной строки Linux в Windows 10 вместе с нативным клиентом OpenSSH. Кроме того, Microsoft также разместила дистрибутивы Ubuntu, openSUSE, Debian и Kali Linux в своем магазине Microsoft Store.
WSL – запуск исполняемых файлов и конфигурирование подсистемы Windows для Linux (WSL) в Windows 10.
Формат командной строки:
wsl.exe [Аргументы] [Параметры. ] [командная строка]
Параметры командной строки:
Аргументы для запуска двоичного кода Linux:
— Если командная строка не указана, то wsl.exe запускает стандартную оболочку bash дистрибутива Linux, используемого по умолчанию.
Аргументы для управления подсистемой Windows для Linux:
Примеры использования WSL.EXE для запуска приложений.
Распределения подсистемы Windows для Linux:
Ubuntu (по умолчанию)
kali-linux
SLES-15
Ubuntu-18.04
На сегодняшний день перевод сообщений утилиты wsl.exe на русский язык оставляет желать лучшего. Первым в списке зарегистрированных в Windows 10 дистрибутивов Linux отображается дистрибутив, установленный по умолчанию. Именно этот дистрибутив используется для запуска исполняемых файлов Linux, если явно не указано имя другого дистрибутива.
Для просмотра переменных окружения дистрибутива по умолчанию, можно воспользоваться командой:
Пример отображаемой информации о переменных окружения:
HOSTTYPE=x86_64
LANG=C.UTF-8
WSL_DISTRO_NAME=Ubuntu
USER=root
PWD=/mnt/c/WINDOWS/system32
HOME=/root
NAME=Win10
SHELL=/bin/bash
TERM=xterm-256color
SHLVL=1
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32/OpenSSH/: /mnt/c/Users/User/AppData/Local/ Microsoft/WindowsApps
WSLENV=
_=/usr/bin/env
Переменную WSLENV можно применить для совместного использования сценариями Windows и Linux.
Пути поиска исполняемых файлов включают в себя как каталоги файловой системы Windows, так и каталоги Linux.
Одновременное применение команд разных ОС с разными переменными окружения и различным синтаксисом может вызывать некоторые трудности, Например, нужно установить и сражу же запустить в среде WSL файловый менеджер Midnight Commander ( mc ). Напрашивается решение объединить установку и запуск в контейнер:
wsl apt-get install mc && mc
Но, интерпретатор команд Windows воспримет специальный символ & как предназначенный командной оболочке Windows и интерпретирует вводимую строку как 2 команды:
Чтобы установленная программа mc выполнялась в среде Linux, она должна запускаться с помощью wsl.exe :
wsl apt-get install mc & wsl mc