Bash

Bash

Bash (Bourne‑Again Shell) — это командная оболочка и язык программирования для UNIX‑подобных операционных систем (в первую очередь Linux, а также macOS; в Windows доступен через WSL — Windows Subsystem for Linux).

Суть и назначение

Bash выступает посредником между пользователем и операционной системой: вместо графического интерфейса вы вводите текстовые команды, которые система распознаёт и выполняет.

Основные функции:

  • управление файловой системой (навигация, создание, копирование, удаление файлов и каталогов);
  • запуск и контроль процессов;
  • автоматизация рутинных задач через скрипты;
  • настройка окружения и переменных;
  • перенаправление ввода/вывода, конвейеризация команд;
  • работа с текстами и потоками данных (поиск, фильтрация, обработка).

Ключевые возможности

  1. Интерактивный режим
    Работает в терминале: вы вводите команды построчно, система выполняет и выводит результат.
  2. Скрипты (сценарии)
    Текстовые файлы (обычно с расширением .sh), содержащие последовательность команд. Позволяют автоматизировать сложные или повторяющиеся действия.
  3. Переменные
    Хранят данные (пути, строки, числа), которые можно использовать в командах и скриптах.
  4. Условные операторы (if, case)
    Позволяют выполнять команды в зависимости от условий.
  5. Циклы (for, while)
    Повторяют команды для списка значений или пока выполняется условие.
  6. Конвейеры и перенаправление
    • > — перезаписать файл выводом команды;
    • >> — дописать в файл;
    • | — передать вывод одной команды на вход другой.
  7. Автодополнение и история
    • Tab — дополняет имена файлов, команд, переменных;
    • стрелки вверх/вниз — просматривает историю введённых команд.
  8. Алиасы
    Короткие имена для длинных или часто используемых команд (например, alias ll='ls -la').

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

#!/bin/bash
echo "Привет, мир!"
  • #!/bin/bash — шебанг (shebang): указывает, какой интерпретатор использовать для выполнения скрипта.
  • echo "Привет, мир!" — команда вывода текста в терминал.

Почему Bash важен

  • Автоматизация. экономит время на повторяющихся задачах (резервные копии, обработка файлов, развёртывание ПО).
  • Гибкость. позволяет комбинировать команды и инструменты для решения сложных задач.
  • Стандартизация. широко поддерживается в UNIX‑подобных системах, что делает навыки переносимыми.
  • Мощность. даёт прямой доступ к системным ресурсам и утилитам ОС.

Краткий итог

Bash — это:

  • командная оболочка для взаимодействия с ОС через терминал;
  • язык сценариев для автоматизации задач;
  • ключевой инструмент администратора, разработчика и продвинутого пользователя Linux/macOS.