Bash (Bourne‑Again Shell) — это командная оболочка и язык программирования для операционных систем Unix‑подобного типа (прежде всего Linux, а также macOS; в Windows доступен через WSL — Windows Subsystem for Linux).
Основные функции и назначение
- Интерфейс взаимодействия с ОС
Bash выступает посредником между пользователем и операционной системой: вместо графического интерфейса вы вводите текстовые команды, которые система распознаёт и выполняет. - Автоматизация задач
Позволяет создавать скрипты (файлы с командами) для автоматизации рутинных операций:- резервное копирование данных;
- управление процессами и сервисами;
- обработка файлов (переименование, перемещение, удаление);
- мониторинг системы;
- развёртывание приложений.
- Управление системой
Даёт доступ к низкоуровневым операциям: настройка прав доступа, работа с процессами, управление сетевыми подключениями.
Ключевые возможности
- Скрипты — текстовые файлы (обычно с расширением
.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‑систем, не требует дополнительной установки.
