На данный момент консольные Linux свободно устанавливаются из Microsoft Store. Они идеально подходят для разработки, работы с файловой системой, удаленного администрирования и тысячи других задач. В этом руководстве я познакомлю вас с настройкой подсистемы Windows для Linux (WSL) на вашем компьютере с Windows, чтобы вы могли в полной мере использовать свои навыки работы с командной строкой UNIX. Для активации подсистемы Windows для Linux на вашем компьютере должна быть установлена 64-разрядная Windows 10 версии 1607 и выше. Если ваша версия ниже вам придется обновить Windows, прежде чем активировать подсистему.
Активация Bash или WSL
Подсистема Windows для Linux (WSL) является встроенной функцией Windows 10, но ее необходимо включить вручную, и есть несколько способов это сделать:
С помощью команды.
Для этого запускаем командную строку — Power Shell, от имени администратора. Далее набираем следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Система попросит перезагрузку — соглашаемся, набираем «Y» и нажимаем «Enter».
Открываем параметры > Приложения > Приложения и возможности. Находим «Сопутствующие параметры» и нажимаем «Программы и компоненты». В открывшемся окне выбираем «Включение или отключение компонентов Windows». Ищем в списке «Подсистема Windows для Linux» и ставим галочку. Перезагружаем компьютер.
После перезагрузки компьютера, следующим шагом будет установка дистрибутива Linux. Откройте Microsoft Store — поищите «Microsoft Store» в строке поиска Windows, или найдите его в меню «Пуск». В приложении магазина выполните поиск по запросу «Linux». Выберите необходимый вам дистрибутив (в большинстве случаев выбирают Ubuntu) и нажмите «Получить» и «Установить».
Добавление учетной записи пользователя Linux
После завершения загрузки и установки приложения — запускаем его. Откроется терминал, и система предложит создать учетную запись пользователя. Введите предпочитаемое имя пользователя и пароль. Это могут быть любые имя пользователя и пароль, не обязательно использовать ваше имя пользователя и пароль от Windows. Обратите внимание, что вам будет предложено ввести ваш пароль дважды, и ваш пароль не будет отображаться в терминале, во время его ввода.
После создания аккаунта вы можете посмотреть где находится текущий рабочий каталог введя команду:
pwd
Каталог по умолчанию может быть неудобен для работы с файлами в вашей файловой системе Windows, поэтому необязательным шагом, может быть изменение каталога по умолчанию, чтобы не приходилось каждый раз переходить в нужный вам каталог после запуска командной строки.
Изменение рабочего каталога по умолчанию
Чтобы изменить рабочий каталог по умолчанию, мы можем отредактировать .bashrc
. В качестве примера для данного руководства, я установлю каталог по умолчанию расположенный по следующему пути:
C/Users/hvenj/Desktop
Естественно вы должны заменить его на свой путь к каталогу, который хотите использовать для работы по умолчанию. Откройте файл .bashrc
следующей командой:
edit ~/.bashrc
Прокрутите его до конца и нажмите i
, что бы перейти в режим редактирования. Затем необходимо ввести cd
, после чего указать путь к новому каталогу по умолчанию. Обратите внимание, что в Ubuntu ваш диск C:
находится внутри папки /mnt/
, в результате чего у вас должна получается, примерно такая запись:
cd /mnt/c/Users/hvenj/Desktop
Хорошим тоном будет добавление комментария #
, чуть выше сделанной записи, который кратко сообщит о том, что делает новая команда:
# this command changes the default directory
cd /mnt/c/Users/hvenj/Desktop
Далее нажмите Esc
для выхода из режима редактирования, а затем введите — :wq
для того, чтобы сохранить изменения и выйти в командную строку. Для проверки, сохранились ли все изменения, вы можете посмотреть файл bashrc
, с помощью команды:
cat ~/.bashrc
Затем, что бы перезапустить командную строку вводим следующую команду:
source ~/.bashrc
Командная строка будет перезапущена с нашим новым каталогом по умолчанию в качестве рабочего каталога.
- Telegram
- Skype
Под GNU/Linux-дистрибутивы создано огромное количество полезных и удобных инструментов и приложений для обычных пользователей и разработчиков. Далеко не всё из этого доступно на Windows, но, к счастью, для ОС от Microsoft есть решения, исправляющие эту проблему.
WSL — официальная подсистема Linux внутри Windows
В Windows 10 существует крайне полезная вещь под названием Windows Subsystem for Linux (WSL). Она позволяет использовать GNU/Linux-среду прямо в Windows и запускать не только команды, но и, например, Bash-скрипты. Для использования WSL необходимо следовать инструкции ниже.
Шаг 1. Проверьте, подходит ли текущая версия Windows требованиям. Для этого нажмите сочетание клавиш Win+R, затем введите winver. Найдите строку «Сборка ОС» — она должна быть свежее версии 14316.
Шаг 2. Запустите стандартную утилиту PowerShell от имени администратора и введите в ней команду для включения WSL:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Шаг 3. Если версия Windows, определённая в первом пункте, свежее 18362, вы можете установить WSL 2, который в разы быстрее первой версии и обладает доработанным ядром. Введите команду ниже, если нужно установить WSL 2:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После этого скачайте и установите пакет обновления с официального сайта.
Шаг 4. Перезагрузите компьютер. Если была произведена установка WSL 2, введите в PowerShell от имени администратора следующую команду:
wsl —set-default-version 2
Шаг 5. После перезагрузки откройте фирменный магазин приложений Microsoft Store и найдите подходящий GNU/Linux-дистрибутив. Самым популярным является Ubuntu — вы можете установить любую версию из представленных в Microsoft Store.
Шаг 6. Как только установка завершится, найдите дистрибутив в меню «Пуск» и запустите его.
Шаг 7. Пройдите этап первоначальной настройки, введя имя нового пользователя и придумав пароль.
Шаг 8. Теперь различные GNU/Linux-команды можно выполнять, запустив дистрибутив, либо введя в командной строке wsl <команда>. Например, для просмотра всех файлов в текущей директории достаточно в командной строке выполнить wsl ls -a.
Обращу внимание на то, что путь к дискам в WSL отличается от такового в Windows. Вместо привычного C:/ используйте /mnt/c/. Также не забывайте про экранирование пробелов с помощью символа \ — это также пригодится при вводе путей к файлам.
Помимо выполнения базовых команд, с помощью WSL можно даже запускать приложения с графическим интерфейсом. Правда, рассчитывать на большое количество поддерживаемых подобных программ не стоит.
Шаг 1. Загрузите X-сервер и установите его.
Шаг 2. Запустите его с помощью ярлыка на рабочем столе. В открывшемся окне выберите вариант Multiple windows, затем Start no client. Завершите настройку кнопкой Finish.
Шаг 3. Откройте дистрибутив через меню Пуск и выполните команду export DISPLAY=:0
Шаг 4. Запустив приложение с графическим интерфейсом в WSL, вы увидите новое окно прямо в Windows.
CoreUtils — лёгкий инструмент для запуска базовых команд
Плюс данной утилиты — возможность запуска не только на Windows 10, но и на более старых версиях ОС. Кроме того, она легка и не занимает много места. Не обошлось без недостатков — программа скудна на функционал и не обновлялась очень давно. Она не только не умеет запускать скрипты и приложения с GUI, но и поддерживает лишь самые базовые GNU/Linux-команды. Установка CoreUtils весьма проста.
Шаг 1. Скачайте утилиту с официального сайта.
Шаг 2. Следуйте инструкциям установщика.
Шаг 3. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
C:\Program Files (x86)\GnuWin32\bin
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.
Шаг 4. Запустите командную строку и выполняйте команды прямо там.
Cygwin — запуск команд и Bash-скриптов
Ещё одна утилита, схожая с CoreUtils, но обладающая более широким функционалом — в том числе и возможностью запуска скриптов. Из минусов — немалый вес и более сложная установка. Разумеется, не идёт ни в какое сравнение с максимально удобным WSL, но для базовых команд вполне подойдёт.
Шаг 1. Загрузите Cygwin и запустите установку.
Шаг 2. Выберите Install from Internet, укажите директории для установки и загрузки пакетов, а также любой подходящий сайт из списка для скачивания файлов.
Шаг 3. В процессе установки можете выбрать необходимые пакеты, либо сразу нажать «Далее», оставив базовый набор.
Шаг 4. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
C:\cygwin64\bin
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.
Шаг 5. Команды можно выполнять как через командную строку, так и через специальный терминал.
Шаг 6. Для удаления Cygwin достаточно удалить папку, в которую программа была установлена, а также (по желанию) значение из переменной Path по методу, обратному тому, что был описан в 4 шаге (не удаляйте саму переменную).
It is a dilemma when you want to switch from one operating system to another. This is a common case when you switch from Windows to Linux. Either you store your data and then uninstall Windows to install Linux and then transfer your data or you can have a dual boot system where you encounter an option as to which OS to choose in the beginning. Don’t you think that both methods require a lot of work? No worries! What if you practice Linux commands on Windows itself? Yes, it will save a lot of work! Here are some ways to run Linux commands on Windows.
Windows Subsystem for Linux(WSL)
Step 1: Go to Update and Security in Settings.
Step 2: Go to the Developer’s Mode and Select the Developer’s Mode option.
Step 3: Open the Control Panel.
Step 4: Click Programs and Features.
Step 5: Click Turn Windows Features On or Off.
Step 6: Enable the Windows Subsystem for Linux Option in the List. Click OK. Click Restart Now to Reboot your Computer.
Step 7: Click the Start button (or press the Windows key), type bash, and press Enter.
Note: There are two problems that you might face after this step:
1. If you are seeing a message like:
“Windows Subsystem for Linux has no installed distributions. Distributions can be installed by visiting the Microsoft Store: https://aka.ms/wslstore
Press any key to continue…”
Then open command prompt and type “lxrun /install“. This will install Ubuntu on Windows.
Accept the terms after which Ubuntu bash will be downloaded from Windows store
2. If the bash is not opening or above solution not working then you can open Microsoft Store. Download and Install Ubuntu. Or click here to download and install the Ubuntu for Developer Tools Utilities.
Step 8: Create user Account and Password to use bash. Again click the Start button (or press the Windows key), type bash, and press Enter.
Last Updated :
29 Jun, 2022
Like Article
Save Article
If you are learning Shell scripting probably as a part of your course curriculum, you need to use Linux commands to practice the commands and scripting.
Your school lab might have Linux installed but you don’t have a Linux laptop but a regular Windows computer like everyone else. Your homework needs to run Linux commands and you wonder how to run Bash commands and scripts on Windows.
You can install Linux alongside Windows in dual boot mode. This method allows you to choose either Linux or Windows when you start your computer. But taking all the trouble to mess with partitions for the sole purpose of running Linux commands may not be for everyone.
You can also use Linux terminals online but your work won’t be saved here.
The good news is that there are several ways you can run Linux commands inside Windows, like any regular application. Isn’t it cool?
Using Linux commands inside Windows
As an ardent Linux user and promoter, I would like to see more and more people using ‘real’ Linux but I understand that at times, that’s not the priority. If you are just looking to practice Linux to pass your exams, you can use one method to run Bash commands on Windows.
1. Use Linux Bash Shell on Windows 10 with WSL
Did you know that you can run a Linux distribution inside Windows 10? The Windows Subsystem for Linux (WSL) allows you to run Linux inside Windows. The upcoming version of WSL will be using the real Linux kernel inside Windows.
This WSL, also called Bash on Windows, gives you a Linux distribution in command-line mode running as a regular Windows application. Don’t be scared with the command line mode because your purpose is to run Linux commands. That’s all you need.
You can find some popular Linux distributions like Ubuntu, Kali Linux, openSUSE etc in Windows Store. You just have to download and install it like any other Windows application. Once installed, you can run all the Linux commands you want.
Please refer to this tutorial about installing Linux bash shell on Windows.
How to Install Linux Bash Shell on Windows [Step-by-Step Guide]
Step-by-step screenshot guide to show you how to install bash on Windows 11 and 10.
It’s FOSSAbhishek Prakash
2. Use Git Bash to run Bash commands on Windows
You probably know what Git is. It’s a version control system developed by Linux creator Linus Torvalds.
Git for Windows is a set of tools that allows you to use Git in both command line and graphical interfaces. One of the tools included in Git for Windows is Git Bash.
Git Bash application provides and emulation layer for Git command line. Apart from Git commands, Git Bash also supports many Bash utilities such as ssh, scp, cat, find etc.
In other words, you can run many common Linux/Bash commands using the Git Bash application.
You can install Git Bash in Windows by downloading and installing the Git for Windows tool for free from its website.
3. Using Linux commands in Windows with Cygwin
If you want to run Linux commands in Windows, Cygwin is a recommended tool. Cygwin was created in 1995 to provide a POSIX-compatible environment that runs natively on Windows. Cygwin is a free and open source software maintained by Red Hat employees and many other volunteers.
For two decades, Windows users use Cygwin for running and practicing Linux/Bash commands. Even I used Cygwin to learn Linux commands more than a decade ago.
You can download Cygwin from its official website below. I also advise you to refer to this Cygwin cheat sheet to get started with it.
4. Use Linux in a virtual machine
Another way is to use virtualization software and install Linux in it. This way, you install a Linux distribution (with a graphical interface) inside Windows and run it like a regular Windows application.
This method requires that your system has a good amount of RAM, at least 4 GB but better if you have over 8 GB of RAM. The good thing here is that you get the real feel of using a desktop Linux. If you like the interface, you may later decide to switch to Linux completely.
There are two popular tools for creating virtual machines on Windows, Oracle VirtualBox and VMware Workstation Player. You can use either of the two. Personally, I prefer VirtualBox.
You can follow this tutorial to learn how to install Linux in VirtualBox.
Install Linux Inside Windows Using VirtualBox [Step by Step Guide]
Brief: Using Linux in a virtual machine gives you the option to try Linux within Windows. This step-by-step guide shows you how to install Linux inside Windows using VirtualBox. There are several ways to install Linux. You can clean everything from your system and install Linux. You can dual bo…
It’s FOSSAbhishek Prakash
Conclusion
The best way to run Linux commands is to use Linux. When installing Linux is not an option, these tools allow you to run Linux commands on Windows. Give them a try and see which method is best suited for you.
About the author
Abhishek Prakash
Created It’s FOSS 11 years ago to share my Linux adventure. Have a Master’s degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie and classic detective mysteries 🕵️♂️
Уровень сложности
Простой
Время на прочтение
2 мин
Количество просмотров 5.7K
Для пользователя Linux командная строка Windows кажется чем-то непривычным и неудобным. С появлением WSL казалось, что проблема использования Bash решена, но запуск виртуальной машины требует времени, да и пути в WSL отличаются от Windows. Плюс скорость файловых операций на виртуальной машине хуже.
Ещё есть возможность использовать Bash через MSYS2, но мне хотелось найти что-то более компактное и легковесное, а также простое в настройке и установке.
Так как я часто использовал Linux на роутерах, то познакомился с BusyBox, набор UNIX-утилит командной строки, используемой в качестве основного интерфейса во встраиваемых операционных системах. Оказалось, есть версия BusyBox для Windows. В 2020 году появился Windows Terminal, а в нем есть возможность создавать вкладку с запуском конкретной программы.
Сложив эти два факта, пришла очевидная мысль, использовать BusyBox, содержащий в себе Bash, в Windows Terminal как отдельную консоль.
Для этого необходимо скачать BusyBox 64, и я, например положил файл в C:/Program Files/Busybox
. А дальше создать новый профиль Windows Terminal и поменять его имя на Bash и указать команду для запуска как C:/Program Files/Busybox/busybox64.exe bash
У этого подхода был один минус, при запуске терминала не из конкретной папки, а из ярлыка на рабочем столе или из панели задач.
То адрес рабочей папки был C:/Windows/System32
, и если случайно ввести команду удаления или создания файла, то мы портим важную системную папку. Обойти возможно используя аналог .bashrc
или /etc/profile
или .profile
.
Но просто создать файл .profile
мало, BusyBox для Windows их не считывает, для этого необходимо добавить путь к этому файлу в ENV
в “Переменные среды”.
Теперь мы можем написать скрипт, который будет настраивать рабочую директорию при запуске консоли.
#!/bin/bash
domain=$(echo $PWD | tr '[:upper:]' '[:lower:]')
if [ $domain = "c:/windows/system32" ]; then
cd $HOME
fi
Теперь если мы запустили терминал из ярлыка или панели задач, то рабочей директорией по умолчанию становится домашняя папка пользователя, а если мы запускаем из конкретной папки то, она и становится рабочей директорией.
Мы получили Bash в Windows Terminal с удобной начальной директорией.