Как установить bash linux

Основы работы с командной оболочкой bash в Linux

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

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

Что такое Bash

Bash (Bourne again shell или «возрождённый» shell) – это модифицированная версия программной оболочки Bourne-shell (sh или «Оболочка Борна»). Она является командным процессором, работающим интерактивно в текстовом окне. Bash нужен для приема команд пользователя и их отправки операционной системе для последующей обработки.

Bash – это универсальный инструмент для выполнения различных задач, который в некоторых случаях позволяет избежать установки специализированного программного обеспечения. Одновременно, это скриптовый язык программирования, позволяющий создавать сценарии для автоматизации различных операций.

История создания

Предшественница Bash – Bourne-shell (sh, «Оболочка Борна») была одной из первых оболочек для операционных систем Unix. Ее создал в 1978 году британский ученый Стивен Борн, давший Bourne-shell свое имя.

Изначально оболочка sh обладала относительно небольшим набором функций. Но в 1987 году Bourne-shell заинтересовался программист Брайан Фокс, сумевший доработать и значительно расширить ее функционал. В 1989 году Брайан создал бета-версию Bash и продолжал поддерживать свое детище вплоть до 1993 года.

Брайан Фокс — создатель оболочки Bash.

Основные команды, правила их написания и прочие особенности Bash были перенесены из sh. Прочие возможности, включая историю, позаимствованы из Korn Shell и C Shell (других вариаций Bourne-shell). Bash практически полностью соответствует стандартам POSIX.

Сегодня оболочка Bash предустановлена в большей части дистрибутивов Unix/Linux. Взаимодействие оболочки и операционной системы обеспечивается с помощью специальной программы – терминала (например, lxterm, xterm, eterm, gnome-terminal).

Синтаксис

Правила написания Bash представляют собой расширенный синтаксис Bourne-shell. Узнать подробности про основы взаимодействия с оболочкой, а также спецификации конкретных команд можно в руководстве Bash Reference Manual, распространяемом GNU. Это полезная шпаргалка для начинающих, позволяющая быстрее сориентироваться в оболочке.

Пример скрипта

Ниже рассмотрен пример самого простого скрипта, выводящего надпись «Hello world».

Данный сценарий состоит из двух строк, где первая указывает операционной системе, что файл должен запускаться при помощи оболочки Bash. Во второй строчке указывается действие – его и должен выполнить скрипт. Это действие должно напечатать в окне терминала соответствующую надпись.

Отличие Bash от Bourne-shell

Bash в Linux способна выполнять практически все важные сценарии Bourne-shell без внесения дополнительных изменений. Исключение составляют те, где необходимо ссылаться на спецпеременные Bourne-shell или, где применяются ее встроенные команды.

В синтаксисе Bash применяются приемы из Korn Shell и C Shell:

  • редактирование командной строки;
  • вывод истории команд;
  • создание стеков директорий;
  • правила замены команд «$(…)»;
  • переменные «$PPID» и «$RANDOM».

Используя консоль Bash в качестве интерактивного интерпретатора, можно прибегать к автодополнению названий файлов, программ, переменных и команд нажатием клавиши Tab (↹).

Для чего нужен Bash

Основные преимущества

На данный момент разработано множество различных вариаций Bourne-Shell. Но, по сравнению с ними, командный интерпретатор Bash обладает рядом преимуществ.

  • Позволяет работать со структурами «[[» (в sh доступна только «[» с ограничениями).
  • Поддерживает работу с массивами в Линуксе.
  • Доступно множество расширений, выполненных по стандартам C, включая циклы с тремя аргументами «for((i=0;i &1 |» и «&>» для «> … 2>&1».
  • Поддерживает сопроцессы с перенаправлением «<>».
  • Огромный комплект расширений нестандартных конфигураций, включая изменение регистра.
  • Существенно увеличены возможности арифметики (правда, нет поддержки чисел с плавающей точкой).
  • Переменные «$RANDOM», «$SECONDS», «$PIPESTATUS[@]» и «$FUNCNAME» в Bash являются расширениями.
  • Доступно огромное количества функций, обеспечивающих работу в интерактивном режиме. Хотя на поведение скриптов они не влияют.

Примечание. Чем новее интерпретатор, тем больше функций он предоставляет. Узнать версию Bash в Linux можно командой:

Примеры применения

  • Вывести указанное количество строчек из лога.
  • Найти и составить выборку ключевых слов, сохранив их в новом файле.
  • Очистить экран терминала.
  • Приостановить работающие задачи и перезапустить ранее приостановленные.
  • Создать архив директории с файлами и отправить его на другой компьютер в одной сети через определенный сетевой протокол.
  • Произвести настройку системы создания резервных копий файлов баз данных, используя дампинг.
  • Послать запрос о конфигурации других компьютеров в сети. Отправить файл с собранной информацией на электронную почту.
  • Найти на диске дублированные файлы, отобразить их список и выполнить запрос их удалить.
  • Рекурсивно заменить владельцев указанных файлов и папок.
Читайте также:  Warcraft 3 reforged линукс

Как работать с Bash

Рассмотрим, как пользоваться Bash на примере подключения к веб-серверу (где находятся файлы сайта) с установленным дистрибутивом Linux через протокол SSH с нуля.

Для этого можно воспользоваться любым предпочитаемым способом. В данном случае рассматривается веб-сервер с Ubuntu, хотя в других дистрибутивах принцип остается тем же.

1. После успешного ввода логина и пароля программа Терминал Linux в автоматическом режиме запустит Bash. Собственно, пользователь уже подключится к системе и увидит приглашение на ввод команд.

2. Приглашение отображается относительно стандартно и имеет следующий вид:

В примере:

  • размытием закрыто имя пользователя;
  • «vPro» – название компьютера;
  • графема тильда (

) в Линуксе обозначает домашнюю папку пользователя в сокращенном виде (/home/user). Она в Bash по умолчанию является текущей

  • знак доллара ($) указывает, что пользователь не имеет прав администратора. Работая как администратор, вместо знака доллара отображается знак решетки (#).
  • 3. Когда приглашение выполнено, терминал автоматически поставит пробел и будет находиться в ожидании ввода команд. На предложенном изображении была нажата кнопка «Enter». В следующей строчке введена команда «cd» перейти в существующий каталог «/opt». Еще ниже отображается результат вывода – рабочей папкой стала «/opt» и это показано в приглашении.

    4. Командная строка Linux позволит запускать любое установленное в системе приложение. Как правило, каталоги со списком исполняемых программ расположены в папках «/bin, /usr/bin». Проверяемые каталоги интерпретатор сохраняет в переменной «$PATH». Просмотреть их список можно командой:

    5. Далее можно воспользоваться командой «ls» и добавить к ней один из каталогов, найденных в «$PATH», чтобы увидеть список доступных программ. Например:

    6. Если приложение консольное, Bash произведет его запуск в терминале. Ниже показан пример запуска редактора Nano.

    7. Bash также позволяет осуществлять запуск приложений в фоновом режиме. Для запуска в фоне, после ввода названия программы в конце следует добавить знак амперсанда (&).

    Здесь строка «[2] 23258» – это номер и PID процесса. При этом nano находится в фоновом режиме. Вернуться к нему можно командой «fg» (добавив номер задачи, если их запущено несколько) или «jobs».

    Поскольку в фоне может работать достаточно много команд, проверить номер требуемой можно командой «bg». Она отобразит список активных задач.

    Заключение

    Помимо вышеперечисленного в этой статье, интерпретатор имеет множество полезных встроенных команд. С их помощью можно выполнять весь спектр работы с веб-сервером. Часть этих команд используется для работы со строками и массивами текстовых данных в консольном окружении ОС семейства Unix.

    Оптимальное решение для размещения сайтов любого профиля и посещаемости — виртуальный сервер от Eternalhost. Оперативная техподдержка 24/7 и реально работающая бесплатная защита от DDoS.

    Источник

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

    Недавно мы говорили о том, как выполнять различные 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

    Если вы всё же получаете ошибку, с сообщением о том, что такой опции у этой команды нет, значит у вас старая версия Windows, обновляйте. Если команда не выдала ошибки — значит настройка WSL завершена успешно.

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

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

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

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

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

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

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

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

    Если вы хотите запускать графические приложения из WSL Windows, то вам понадобится установить в систему 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? Напишите в комментариях!

    Источник

    Читайте также:  Winapi для windows 10
    Оцените статью