Bash
3 года назад
Nikolai Gagarinov
Ответы
Bash — это командная оболочка для семейств UNIX, включающая средства управления файлами, каталогами, процессами и настройками окружения.
Bash интерпретирует вводимые пользователем команды и превращает их в понятные операционной системе инструкции. Оболочка работает напрямую с системными утилитами и предоставляет удобный интерфейс для выполнения операций, которые в графических средах требуют большего числа действий. Bash встроен в большинство дистрибутивов и доступен без установки. Для запуска достаточно открыть окно терминала.
Оболочка используется как для одиночного ввода команд, так и для выполнения файлов со скриптами. Скрипты позволяют объединять последовательности действий, автоматизировать рутинные операции и задавать алгоритмы обработки данных. Bash поддерживает переменные, условия, циклы и собственные конструкции управления.

Основное назначение оболочки
Командная оболочка принимает введенные строки, разбирает их синтаксис и передает операционной системе на исполнение. Любое действие выполняется одинаково: пользователь вводит команду, оболочка ее интерпретирует, а система выполняет результат. Такой подход обеспечивает прямой доступ к возможностям ядра, файловой системы и инструментов администрирования.
Оболочка используется в ситуациях, когда важна скорость выполнения операций, требуется автоматизация или отсутствует графическая среда. В серверных системах интерфейс может полностью отсутствовать, и вся работа выполняется через терминал.
Запуск оболочки и выполнение скриптов
Bash активируется при каждом открытии терминала. Для выполнения скрипта требуется наличие файла с набором команд и права на исполнение.
Запуск выполняется так:
или, если установлен флаг исполнения:
В начале файла обычно указывают путь к интерпретатору. Строка выглядит так:
Запись сообщает системе, какие средства использовать для обработки команд.
Структура команд
Команда состоит из трех частей:
Флаги изменяют поведение команды. Аргументы определяют данные, над которыми выполняется действие. Пример копирования файла:
файл1 — исходный объект, файл2 — создаваемая копия по указанному пути.
Флаги записываются после команды. Пример флага:
Флаги могут использоваться вместе:
Организация путей и навигация
Файловая система UNIX использует единое древовидное пространство. Корневой каталог обозначается символом /. Все пути отсчитываются от корня или от текущего расположения пользователя.
Полный путь:
Обозначения для навигации:
-
.— текущий каталог; -
..— каталог уровнем выше; -
~— домашний каталог пользователя; -
-— предыдущий путь.
Переход выполняется командой:
Просмотр текущего расположения:
Команды просмотра данных
Bash предоставляет встроенные средства чтения файлов, вывода каталогов и получения справки по утилитам.
Основные утилиты
-
lsкаталог — вывод списка содержимого; -
catфайл — отображение содержимого в терминале; -
manкоманда — руководство по использованию утилит; -
lessфайл — просмотр текста с постраничной навигацией.
Внутри less доступны команды:
- g — переход в начало;
- G — переход в конец;
- / — поиск по содержимому;
- q — выход.
Для редактирования используется текстовый редактор, доступный через терминал:
Редактор позволяет менять и сохранять текст в интерактивном режиме.
Поиск файлов и данных
Поиск объектов в каталоге выполняется утилитой:
Команда проверяет вложенные каталоги и возвращает совпадающие файлы.
Поиск текста в файлах выполняется инструментом:
Рекурсивный поиск:
Утилита выводит строки, соответствующие шаблону, с указанием файла.
Основные операции с файлами и каталогами
Создание каталогов:
Создание файлов:
Копирование объектов:
Перемещение:
Удаление:
Скачивание:
Вывод строки:
Перенаправление потоков и конвейеры
Ввод и вывод команд можно направлять не только в терминал, но и в файлы.
Основные конструкции
Вывод в файл с перезаписью:
Вывод с добавлением:
Ввод команды из файла:
Конвейер связывает несколько программ. Вывод одной команды является вводом другой:
Такая схема позволяет последовательно обработать данные несколькими инструментами.
Переменные
Bash поддерживает переменные без указания типа.
Объявление:
Использование:
Скрипты могут принимать аргументы:
-
$0— имя файла; -
$1,$2— параметры, переданные при запуске.
Пример использования:
Условия и циклы
Оболочка поддерживает базовые конструкции управления.
Пример проверки условия:
Пример цикла:
Другой вариант цикла:
Выполнение скриптов и структура проекта
Скрипты часто используют в администрировании, управлении версиями, работе с каталогами и подготовке серверов. Оболочка позволяет объединять системные команды в четкую последовательность, обеспечивая автоматическое выполнение без участия пользователя.
Пример простого скрипта объединения нескольких инструментов:
Скрипт получает два параметра: строку поиска и каталог. Результаты фиксируются в файлах.
Дополнительные возможности оболочки
Bash предоставляет расширенные методы работы:
-
поддержка арифметики;
-
управление процессами;
-
использование встроенных функций;
-
обработка ошибок;
-
выполнение фоновых задач.
Команды могут выполняться в фоне символом &:
Для определения пути к оболочке используется:
16 дней назад
Nikolai Gagarinov





