Bash в Windows запускается через подсистему WSL (Windows Subsystem for Linux) — полноценный Linux-интерпретатор внутри Windows без виртуальной машины. Он нужен разработчикам, системным администраторам и всем, кто работает с Linux-инструментами, скриптами или серверами прямо с рабочего стола Windows.
TL;DR: одна команда в PowerShell от администратора — wsl --install — устанавливает WSL2 и Ubuntu. После перезагрузки запускайте Bash через меню Пуск или командой bash в терминале.
- Синтаксис запуска Bash в Windows
- Установка Bash через WSL
- Быстрая установка (Windows 10 2004+ и Windows 11)
- Ручная установка (для старых версий Windows 10)
- Ключи и параметры команды WSL
- Примеры использования Bash в Windows
- Запуск Bash из командной строки Windows
- Выполнить одну команду Linux без перехода в Bash
- Работа с файлами: копирование, перемещение, удаление
- Установка пакетов через apt
- Запуск Bash-скрипта из Windows
- Поиск файлов по содержимому через grep
- Перенаправление вывода в файл Windows
- Основные команды Bash — шпаргалка
- Частые ошибки и решения
- Когда применять Bash в Windows, а когда нет
- FAQ
- Как запустить Bash в Windows?
- Чем WSL2 отличается от WSL1?
- Можно ли установить несколько дистрибутивов Linux одновременно?
- Можно ли в Bash работать с файлами на диске C:?
- Как обновить пакеты Linux в WSL?
- Что делать, если WSL не устанавливается?
Синтаксис запуска Bash в Windows
bash [параметры] [команда] wsl [--distribution <имя>] [-u <пользователь>] [команда]
Плейсхолдеры:
--distribution <имя>— запустить конкретный дистрибутив (Ubuntu, Debian, Kali)-u <пользователь>— запустить от имени указанного пользователя (например,root)[команда]— выполнить команду и сразу выйти (например,wsl ls /home)
Установка Bash через WSL
Примечание: начиная с Windows 10 версии 1709 включать режим разработчика для WSL не требуется. На Windows 10 (сборка 2004 и выше) и Windows 11 достаточно одной команды.
Быстрая установка (Windows 10 2004+ и Windows 11)
- Откройте PowerShell от имени администратора (Win+X → «Windows PowerShell (администратор)»).
- Выполните команду:
wsl --install
По умолчанию установится Ubuntu. Для выбора другого дистрибутива:
wsl --install -d Debian - Дождитесь завершения установки и перезагрузите компьютер.
- После перезагрузки откроется окно первоначальной настройки: введите имя пользователя и пароль для Linux.
Ручная установка (для старых версий Windows 10)
- Откройте PowerShell от имени администратора.
- Включите функцию WSL:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Перезагрузите компьютер.
- Откройте Microsoft Store и найдите дистрибутив по выбору: Ubuntu, Debian, Kali Linux.
- Нажмите «Установить» и дождитесь завершения.
- Запустите установленный дистрибутив через меню Пуск.
- При первом запуске введите имя пользователя и пароль Linux.
Ключи и параметры команды WSL
| Ключ | Описание | Пример |
|---|---|---|
--install | Установить WSL и дистрибутив по умолчанию (Ubuntu) | wsl --install |
--install -d <имя> | Установить конкретный дистрибутив | wsl --install -d Debian |
--list --online | Показать доступные для установки дистрибутивы | wsl --list --online |
--list --verbose | Показать установленные дистрибутивы и их версии WSL | wsl --list --verbose |
--set-default-version | Установить версию WSL по умолчанию (1 или 2) | wsl --set-default-version 2 |
--shutdown | Завершить все работающие экземпляры WSL | wsl --shutdown |
--update | Обновить ядро WSL | wsl --update |
-d <имя> | Запустить конкретный установленный дистрибутив | wsl -d Kali-Linux |
-u root | Войти как root (суперпользователь) | wsl -u root |
Примеры использования Bash в Windows
Запуск Bash из командной строки Windows
Откройте CMD или PowerShell и введите bash — вы окажетесь в оболочке Linux. Путь к файлам Windows в WSL: /mnt/c/ соответствует диску C:.
bash cd /mnt/c/Users/Admin/Desktop ls -la
Выполнить одну команду Linux без перехода в Bash
Удобно для вызова Linux-утилит из скриптов Windows.
wsl ls -la /home
Команда выполнится в WSL и вернёт результат в терминал Windows.
Работа с файлами: копирование, перемещение, удаление
cp /mnt/c/Users/Admin/file.txt /mnt/d/backup/ mv /mnt/c/temp/old.log /mnt/c/archive/ rm /mnt/c/temp/trash.tmp
Установка пакетов через apt
В Ubuntu/Debian-дистрибутивах используется пакетный менеджер apt.
sudo apt update && sudo apt install curl git python3
Запуск Bash-скрипта из Windows
Скрипт должен иметь права на выполнение. Путь передаётся в формате Linux.
wsl bash /mnt/c/scripts/deploy.sh
Поиск файлов по содержимому через grep
grep -r "error" /mnt/c/logs/*.log
Рекурсивный поиск строки «error» во всех .log-файлах папки.
Перенаправление вывода в файл Windows
wsl ls -la /mnt/c/Users/Admin > C:\output.txt
Основные команды Bash — шпаргалка
| Команда | Описание | Пример |
|---|---|---|
ls | Список файлов в директории | ls -la |
cd | Сменить директорию | cd /mnt/c/Users |
pwd | Показать текущую директорию | pwd |
cp | Копировать файл или папку | cp file.txt backup/ |
mv | Переместить или переименовать | mv old.txt new.txt |
rm | Удалить файл (с -r — папку) | rm -r /tmp/folder |
mkdir | Создать директорию | mkdir project |
cat | Вывести содержимое файла | cat file.txt |
grep | Поиск строк по шаблону | grep "error" log.txt |
find | Поиск файлов и папок | find /home -name "*.sh" |
chmod | Изменить права доступа | chmod +x script.sh |
sudo | Выполнить с правами суперпользователя | sudo apt install git |
echo | Вывести текст или переменную | echo $HOME |
curl | HTTP-запросы, скачивание файлов | curl -O https://example.com/file |
Частые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
| «WslRegisterDistribution failed with error: 0x8007019e» | Компонент WSL не включён | Включите в PowerShell от администратора: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
| «The Windows Subsystem for Linux optional component is not enabled» | WSL отключён в параметрах Windows | Панель управления → Программы → Включение или отключение компонентов Windows → поставьте галку «Подсистема Windows для Linux» |
| Не удаётся запустить WSL2 — ошибка ядра | Устаревшее ядро WSL2 | Выполните wsl --update в PowerShell от администратора |
| Команды Linux не видят файлы Windows | Диски Windows монтируются под /mnt/ | Используйте путь /mnt/c/ вместо C:\ |
| «Permission denied» при выполнении скрипта | У файла нет прав на выполнение | Выполните chmod +x имя_скрипта.sh перед запуском |
| Медленная работа файловой системы при доступе к /mnt/c/ | Кросс-ФС операции между WSL2 и Windows медленные по природе | Храните рабочие файлы в Linux-разделе WSL (~/), а не в /mnt/c/ |
Когда применять Bash в Windows, а когда нет
Bash в Windows через WSL2 — правильный выбор для разработки под Linux, работы с серверами по SSH, запуска Python/Node.js/Ruby-проектов с Linux-зависимостями, использования git и утилит командной строки (grep, awk, sed, curl, wget). WSL2 требует Windows 10 версии 1903 или выше и включённой виртуализации в BIOS (Hyper-V или WSL2 hypervisor).
Не стоит использовать WSL для задач, связанных с графическим интерфейсом Windows (хотя WSLg в Windows 11 позволяет запускать Linux-приложения с GUI). Для простых файловых операций и административных задач в Windows предпочтительнее CMD или PowerShell — они работают быстрее без уровня совместимости.
PowerShell аналог запуска Linux-команд: wsl <команда> напрямую из PowerShell без перехода в оболочку.
FAQ
Как запустить Bash в Windows?
После установки WSL нажмите Win, найдите «Ubuntu» (или другой установленный дистрибутив) и запустите. Либо откройте CMD/PowerShell и введите bash.
Чем WSL2 отличается от WSL1?
WSL2 использует полноценное Linux-ядро и виртуализацию — лучшая совместимость с Linux-приложениями и значительно более высокая производительность файловой системы внутри Linux-раздела. WSL1 работает как слой трансляции системных вызовов и быстрее при работе с файлами Windows.
Можно ли установить несколько дистрибутивов Linux одновременно?
Да. Установите несколько дистрибутивов через Microsoft Store или командой wsl --install -d <имя>. Переключаться между ними: wsl -d Ubuntu, wsl -d Debian.
Можно ли в Bash работать с файлами на диске C:?
Да. Диски Windows монтируются автоматически: /mnt/c/ — это C:, /mnt/d/ — D:. Например: ls /mnt/c/Users/Admin/Documents.
Как обновить пакеты Linux в WSL?
В Ubuntu/Debian: sudo apt update && sudo apt upgrade. В Kali: sudo apt update && sudo apt full-upgrade. Рекомендуется выполнять после установки и периодически для получения обновлений безопасности.
Что делать, если WSL не устанавливается?
Убедитесь, что включена виртуализация в BIOS (параметр Intel VT-x или AMD-V). Проверьте версию Windows: WSL2 требует Windows 10 версии 1903 (сборка 18362) или выше. Запустите wsl --update и wsl --install от имени администратора.



