Bash (Bourne‑Again Shell) — это командная оболочка и язык программирования для UNIX‑подобных операционных систем (в первую очередь Linux, а также macOS; в Windows доступен через WSL — Windows Subsystem for Linux).
Суть и назначение
Bash выступает посредником между пользователем и операционной системой: вместо графического интерфейса вы вводите текстовые команды, которые система распознаёт и выполняет.
Основные функции:
- управление файловой системой (навигация, создание, копирование, удаление файлов и каталогов);
- запуск и контроль процессов;
- автоматизация рутинных задач через скрипты;
- настройка окружения и переменных;
- перенаправление ввода/вывода, конвейеризация команд;
- работа с текстами и потоками данных (поиск, фильтрация, обработка).
Ключевые возможности
- Интерактивный режим
Работает в терминале: вы вводите команды построчно, система выполняет и выводит результат. - Скрипты (сценарии)
Текстовые файлы (обычно с расширением.sh), содержащие последовательность команд. Позволяют автоматизировать сложные или повторяющиеся действия. - Переменные
Хранят данные (пути, строки, числа), которые можно использовать в командах и скриптах. - Условные операторы (
if,case)
Позволяют выполнять команды в зависимости от условий. - Циклы (
for,while)
Повторяют команды для списка значений или пока выполняется условие. - Конвейеры и перенаправление
>— перезаписать файл выводом команды;>>— дописать в файл;|— передать вывод одной команды на вход другой.
- Автодополнение и история
- Tab — дополняет имена файлов, команд, переменных;
- стрелки вверх/вниз — просматривает историю введённых команд.
- Алиасы
Короткие имена для длинных или часто используемых команд (например,alias ll='ls -la').
Пример простого скрипта
#!/bin/bash
echo "Привет, мир!"
#!/bin/bash— шебанг (shebang): указывает, какой интерпретатор использовать для выполнения скрипта.echo "Привет, мир!"— команда вывода текста в терминал.
Почему Bash важен
- Автоматизация. экономит время на повторяющихся задачах (резервные копии, обработка файлов, развёртывание ПО).
- Гибкость. позволяет комбинировать команды и инструменты для решения сложных задач.
- Стандартизация. широко поддерживается в UNIX‑подобных системах, что делает навыки переносимыми.
- Мощность. даёт прямой доступ к системным ресурсам и утилитам ОС.
Краткий итог
Bash — это:
- командная оболочка для взаимодействия с ОС через терминал;
- язык сценариев для автоматизации задач;
- ключевой инструмент администратора, разработчика и продвинутого пользователя Linux/macOS.