Что такое командные оболочки Linux? Краткое рассмотрение интерпретатора Bash

что такое командные оболочки linux? краткое рассмотрение интерпретатора bash

Понятие командной оболочки

В прошлом уроке мы рассмотрели текстовые терминалы, которые одновременно являются историческим наследием и удобным инструментом системного администрирования. На заре IT-индустрии они использовались для решения простейших задач: последовательный запуск программ и просмотр результата выполнения.

Современные операционные системы создают уровень абстракции, позволяющий использовать терминалы совместно с командными оболочками. Оболочки имеют расширенные возможности работы в текстовом режиме и идут в комплекте с любым дистрибутивом Linux.

Командная оболочка — это специальный программный интерпретатор. Он является посредником между пользователем и операционной системой. При вводе команды в окне терминала оболочка перехватывает её и осуществляет дополнительную обработку, что позволяет внедрить элементы программирования. Например, вы можете запустить приложение и записать результат его выполнения в файл. Операция не потребует дополнительных усилий, интерпретатор сделает всё самостоятельно, а запись команды уместится в одну короткую строку.

В Linux есть несколько видов командных оболочек, но в целом они обладают схожим функционалом. Данный и последующие уроки раскрывают принципы работы интерпретатора Bash. Он и его производные чаще всего используются на практике.

Заметка
Осуществляя поиск информации по этой теме, вы заметите, что словосочетания «текстовый терминал» и «командная оболочка» используются как синонимы. На самом деле это разные компоненты системы. Однако по причине их неразрывной связанности, такое применение определений допустимо.

Основные возможности Bash

История создания Bash берет свое начало с 1987 года. Командная оболочка была разработана Брайаном Фоксом на основе ранее существовавшей Bourne shell. Она обладает широким спектром возможностей. В последнее время появилось множество других интерпретаторов, значительно обгоняющих Bash по скорости работы. Тем не менее, многочисленное сообщество и установка практически на всех дистрибутивах Linux сохраняет её популярность.

Встроенные возможности:

  • Использование конвейеров для передачи результата одной программы в другую.
  • Встроенный язык программирования с условными операторами, циклами и т. д.
  • Запуск набора команд из файла (скрипта).
  • Авто дополнение имен файлов и директорий.
  • Просмотр истории введенных команд.
  • Перенаправление ввода-вывода.
  • Использование оболочковых переменных

При открытии текстового терминала Linux командная оболочка будет загружена в него автоматически. От пользователя не требуется никаких дополнительных операций. Ниже мы приводим простой пример команды echo и записи её результата в файл.

echo "пример использования Bash" > ~/bash-test.txt

После выполнения команды интерпретатор Bash создаст в домашней папке пользователя файл с именем bash-test.txt. Он будет содержать текст, стоящий после оператора echo.

Заметка
В следующих уроках возможности Bash будут рассмотрены более детально. Данная статья раскрывает лишь общие определения и принципы работы.

Командные оболочки и пользователи

В вашей операционной системе может быть установлено несколько командных интерпретаторов. Linux позволяет каждому отдельному пользователю определить конкретную оболочку, которая будет подгружаться в терминал при его запуске.

Увидеть какие оболочки, к каким пользователям привязаны можно в файле /etc/passwd. Каждая строчка в нем — это определение отдельного пользователя. В самом конце строки после двоеточия указывается место расположения исполняемого файла командной оболочки. Например, /bin/bash. Вы можете заметить, что у некоторых пользователей эта часть строки указана как /bin/false. Такое определение запрещает использование любой оболочки.

Системный администратор может вручную исправить файл /etc/passwd. Если вы являетесь обычным пользователем, необходимо выполнить команду chsh с указанием расположения исполняемого файла командной оболочки.

chsh -s /bin/bash

Последние публикации