- win-bash — A stand-alone bash for Windows
- What differs win-bash from cygwin-bash?
- How can I change the drive?
- Why did you port the very old bash 1.14.2 and not any newer version?
- Как установить и использовать оболочку Linux Bash в Windows 10
- Что нужно знать про оболочку Bash в Windows 10
- Как установить Bash в Windows 10
- Как использовать оболочку Bash и устанавливать программное обеспечение Linux
- Дополнительно: установка родного шрифта Ubuntu
- Как установить и использовать Bash в Windows 10
- Немного пояснений
- Как установить Bash в Windows 10
- Как использовать Bash Ubuntu под Windows
win-bash — A stand-alone bash for Windows
win-bash is a Windows port of the famous GNU bash (see GNU Bash homepage).
Unlike other bash ports for Windows (e.g. the cygwin bash ), the win-bash needs no special environment or DLLs. There is just one binary and that’s it.
win-bash is based on nt_bash which was an early bash port for Windows NT started by Mountain Math Software some years ago. As far as I know, the nt_bash port project stopped in alpha status and has never been finished.
The goal of the win-bash project is to finish the port to Windows and provide a fully-functional bash.exe binary for Windows NT and derived systems. win-bash can be used as an input shell, as well as an interpreter to run UN*X shell scripts.
- Further Information
- FAQ
- Installation
-
- Sourceforge Project Page ->http://sourceforge.net/projects/win-bash/
- Download ->https://sourceforge.net/projects/win-bash/files/shell-complete/latest/
- EGCS Development Toolchain for GNU-Mingw32 ->The MinGW Compiler and Tools
- GNU utilities for Win32 ->The unxutils project
- ViewCVS ->http://win-bash.cvs.sourceforge.net/viewvc/win-bash/win-bash/
-
What differs win-bash from cygwin-bash?
First of all, you should keep in mind that win-bash is based on a old version of bash (1.14.2) while cygwin -bash is more or less up to date.
One important difference is the handling of drives: cygwin uses its installation directory as root dir and links all drives in the pseudo subdir /cygdrive . win-bash uses a diffent method: drives are included in paths, like on windows (e.g. c:/Winnt/System32 ). The root directory / is mapped to the root directory of the current drive.
Examples:
- ls c:/winnt — shows the content of the directory c:/winnt
- cd c:/; ls /winnt — changes current drive to c: and shows the content of the directory c:/winnt
- cd d:/; ls /winnt — changes current drive to d: and shows the content of the directory d:/winnt
There are some other differences, most of them have been added to simplify the usage of existing un*x shell scripts:
- If a shell script starts with an interpreter specification like #!/path/interpreter , the interpreter is searched in the PATH environment instead of /path . E.g. a Perl script starting with #!/bin/perl will be started with perl.exe from the PATH environment variable.
- win-bash doesn’t use any dlls or registry keys
How can I change the drive?
Use the cd command. The drive letter is optional and can be added at the head of the directory followed by a colon. If the drive letter is given, the current drive is changed. The root directory / always points the the current drive’s root dir.
To change to the root directory on drive c: write:
Why did you port the very old bash 1.14.2 and not any newer version?
win-bash is based on nt_bash which was based on bash 1.14.2. The port was primary started to make un*x shell scripts run on windows. All tested scripts worked fine with this old version, so the primary goal of the project has been reached even with this old bash version.
The installation of win-bash is pretty simply: Just download shell.w32-ix86.zip, unpack it and copy the bash.exe file to a path which is listed in your PATH environment variable.
When using win-bash as the default shell for un*x shell scripts, you may which to copy bash.exe to sh.exe to make scripts starting with #!/bin/sh work.
Remember: This is only the shell binary — it has same builtin commands, but for must purposes you would need additional un*x tools like ls, sed etc. The unxutils project provides Windows ports of often used un*x tools.
Как установить и использовать оболочку Linux Bash в Windows 10
Подсистема Windows для Linux (Windows Subsystem for Linux, WSL), впервые представленная в Windows 10 версии 1607, стала действительно стабильной функцией в Windows 10 (версия 1709). Теперь пользователи получают среду для тестирования Linux-приложений прямо внутри Windows, которая работает быстрее, чем в виртуальной машине.
Что нужно знать про оболочку Bash в Windows 10
Функция 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 10 (версия 1709), чтобы использовать эту функцию вам больше не нужно включать режим разработчика в приложении Параметры. Вам просто нужно включить подсистему в окне “Компоненты Windows”.
После перезагрузки ПК откройте Магазин Microsoft и выполните поисковый запрос “Linux”. Откроется список доступных для установки приложений.
Примечание: начиная с 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.
Если вы не знаете, какую среду Linux установить, мы рекомендуем Ubuntu. Этот популярный дистрибутив Linux был ранее единственным доступным вариантом, но теперь доступны другие системы Linux для различных нужд пользователей.
Вы также можете установить несколько дистрибутивов Linux, и каждый из них получит свои собственные уникальные ярлыки. Вы даже можете запускать несколько разных дистрибутивов Linux одновременно в разных окнах.
Как использовать оболочку Bash и устанавливать программное обеспечение Linux
После успешной установки вы получаете полноценную командную оболочку Bash на основе Ubuntu или другого выбранного дистрибутива Linux.
Поскольку в системах Linux используются одинаковые бинарные файлы, вы можете использовать команды Ubuntu apt или apt-get, чтобы установить программное обеспечение из репозитория Ubuntu. Просто используйте любую команду, которую вы обычно используете в этом дистрибутиве Linux. У вас будет доступ ко всему программному обеспечению командной строки Linux там, хотя некоторые приложения могут работать не идеально.
Чтобы открыть установленную среду Linux, просто откройте меню Пуск и выполните поиск любого дистрибутива, который вы установили. Например, если вы установили Ubuntu, запустите ярлык Ubuntu.
Вы можете закрепить плитку приложения в меню Пуск, на панели задач или разместить ярлык на рабочий стол для быстрого доступа.
При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они не должны совпадать с вашим именем пользователя и паролем Windows, и будут использоваться в среде 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 нужно будет воспользоваться командой 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” в списке шрифта.
Как установить и использовать Bash в Windows 10
С недавним Anniversary Update пользователи Windows 10 получили много новых улучшений и возможностей. Одной из них стала возможность использовать обычную, знакомую всем Linux-оидам командную оболочку Bash. На самом деле о данном нововведении было известно еще с весны, но на тот момент попробовать Bash на Windows 10 могли лишь участники программы предварительной оценки. Теперь же он доступен для всех желающих. И ниже мы покажем, каким образом можно установить и как использовать Bash в Windows 10. А на самом деле все, конечно, очень интересно: в Linux теперь можно установить PowerShell, а Bash в Windows.
Немного пояснений
Microsoft назвала реализацию запуска Bash в Windows не иначе как — Windows подсистема для Linux. Чтобы вы понимали, это не виртуальная машина, не контейнер или перекомпилированное под Windows Linux ПО.
Принцип работы Windows подсистемы для Linux похож на Wine: системные вызовы Linux приложений в реальном времени транслируются в системные вызовы Windows. Так же, как Wine позволяет запускать Window приложения под Linux новая технология Microsoft дает возможность запускать Linux ПО в своей ОС.
Работа редмондовцев над новой функцией велась совместно с Canonical, поэтому сейчас в Windows 10 используется Ubuntu.
Тем не менее, в отличии от того же Wine, где можно запускать графические приложения, Ubuntu под Windows работает только в текстовом режиме, то есть вы можете пользоваться лишь башем и консольными утилитами. Ни о каком серверном или графическом ПО речь не идет (хотя были новости и о том, что некоторым умельцам все же удавалось запускать графические оболочки).
Как установить Bash в Windows 10
Чтобы установить Bash в Windows 10 вы должны либо быть участником программы предварительной оценки, либо у вас должно быть установлено Windows 10 Anniversary Update. Так же обратите внимание, что новая возможность доступна лишь для 64-битных систем.
Если ваш компьютер соответствует всем выше перечисленным требованиям, можно приступать к установке:
- откройте параметры Windows и перейдите в раздел «Обновление и безопасность»:
- в левой колонке выберите пункт «Для разработчиков» и в правой части активируйте «Режим разработчика»:
- нужно будет подтвердить данное действие:
- начнется загрузка компонентов, а после их установки необходимо будет перезагрузить компьютер:
- после перезагрузки откройте «Панель управления» и выберите раздел «Программы»;
- нажмите на ссылку «Включение или отключение компонентов Windows» и в открывшемся окне активируйте «Подсистема Windows для Linux (бета-версия)», затем нажмите «OK»:
- еще раз перезагружаем компьютер:
Пришло время запустить установленный Bash:
- откройте меню «Пуск», в строке поиска наберите bash и запустите его:
- откроется окно терминала и первое, что нас попросят — нажать «y» для доустаноавки нужных пакетов из магазина Windows;
- затем нужно будет создать нового пользователя, для чего нужно указать его имя и пароль, и уже после этого можно будет приступать к работе в Bash:
В следующий раз, когда вам понадобиться Bash в Windows 10, откройте поиск и введите «bash». Теперь у нас для его запуска будет ярлык «Bash на Ubuntu на Windows»:
Как использовать Bash Ubuntu под Windows
Теперь у вас есть командная строка Bash из Ubuntu. Так как это тот же шелл, что и в обычной Ubuntu, вы можете использовать стандартные ее команды apt-get для установки ПО с репозиториев. У вас есть доступ ко всем консольным Linux утилитам, однако имейте в виду, что не все они будут работать стабильно, поскольку данная подсистема находится еще в бета.
Как говорилось выше, для запуска шелла нужно через поиск открыть «Bash на Ubuntu на Windows», который для удобства лучше вынести на рабочий стол. Если вы имеете опыт работы с Bash в Linux или macOS, то в открывшемся окне ничего нового вы не увидите. Вы можете использовать те же команды, что и в nix системах:
- cd — для того, чтобы перейти в другой каталог;
- ls — для просмотра его содержимого;
- mv — для перемещения или переименования файлов;
- rm — для их удаления;
- mkdir — чтобы создавать новые директории.
Важно помнить, что в отличии от Windows, Bash чувствителен к регистру. То есть Text.txt и text.txt для него разные файлы.
Установка и удаление программ происходит при помощи менеджера пакетов APT, для чего используется команда apt-get. Кроме того, помните об утилите sudo которая дает повышенные права для установки ПО и добавляется в самое начало команды:
- sudo apt-get update — проверяет наличие обновлений;
- sudo apt-get upgrade — устанавливает обновления;
- sudo apt-get install имя_пакета — устанавливает необходимый пакет;
- sudo apt-get remove имя_пакета — удаляет ненужный пакет;
- sudo apt-cache search слово — поиск доступных пакетов.
Установив приложение, для запуска необходимо лишь ввести в терминале его имя и нажать «Enter».
Помните, что ПО установленное в Bash доступно лишь в нем. Вы не сможете его запустить через командную строку, PowerShell или каким-либо другим способом.
Вкратце это все. Надеюсь вам было интересно и вы теперь сможете попробовать Bash в Windows 10. Напишите в комментариях о своем опыте.