Что такое Bash?

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

Основные функции и назначение

  1. Интерфейс взаимодействия с ОС
    Bash выступает посредником между пользователем и операционной системой: вместо графического интерфейса вы вводите текстовые команды, которые система распознаёт и выполняет.
  2. Автоматизация задач
    Позволяет создавать скрипты (файлы с командами) для автоматизации рутинных операций:
    • резервное копирование данных;
    • управление процессами и сервисами;
    • обработка файлов (переименование, перемещение, удаление);
    • мониторинг системы;
    • развёртывание приложений.
  3. Управление системой
    Даёт доступ к низкоуровневым операциям: настройка прав доступа, работа с процессами, управление сетевыми подключениями.

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

  • Скрипты — текстовые файлы (обычно с расширением .sh), содержащие последовательность команд. Пример простого скрипта:#!/bin/bash echo "Привет, мир!" Здесь #!/bin/bash — «шебанг» (указывает интерпретатор), echo — команда вывода текста.
  • Переменные — хранят данные (пути, настройки, результаты вычислений). Пример:NAME="Linux" echo $NAME
  • Условные операторы (if‑then‑else) — выполняют действия в зависимости от условий. Например, проверка существования файла.
  • Циклы (for, while) — повторяют команды для списка элементов или пока условие истинно. Используются для обработки файлов, мониторинга.
  • Алиасы — сокращённые команды. Пример:alias ll="ls -la" Теперь ll будет выполнять ls -la.
  • Перенаправление потоков
    • > — запись вывода в файл (перезаписывает);
    • >> — добавление в файл;
    • | — передача вывода одной команды в другую (конвейер).
  • Регулярные выражения — поиск и обработка текста по шаблонам (используются в командах grep, sed, awk).

Примеры базовых команд

  • pwd — показать текущий каталог;
  • cd — сменить каталог;
  • ls — вывести список файлов;
  • touch — создать файл;
  • mkdir — создать папку;
  • rm — удалить файлы/папки;
  • cp — скопировать файлы;
  • mv — переместить/переименовать файлы;
  • cat — вывести содержимое файла;
  • head/ tail — показать первые/последние строки файла.

Где применяется

  • Системное администрирование — настройка серверов, управление пользователями, мониторинг.
  • Разработка — сборка проектов, запуск тестов, деплой.
  • Анализ данных — обработка логов, экспорт/импорт данных.
  • Повседневная работа — быстрая навигация по файловой системе, массовые операции с файлами.

Преимущества

  • Эффективность — выполнение сложных задач за секунды вместо ручных действий.
  • Повторяемость — скрипты гарантируют одинаковый результат при каждом запуске.
  • Гибкость — возможность комбинировать команды и создавать сложные алгоритмы.
  • Доступность — встроен в большинство Unix‑систем, не требует дополнительной установки.