В Linux достаточно часто используется командная строка или терминал для работы с пространством и компонентами ОС. И в статьях, разговорах можно часто услышать, такие фразы как: терминал, Bash, Zash, команды и утилиты. Но зачем это все и какой в этом смысл? Постараемся кратко, но емко объяснить их взаимосвязь и рассмотрим основные команды, и что делать если вы их не знаете!
В чем принцип работы?
Терминал (или терминальная программа) — это программное обеспечение, которое обеспечивает взаимодействие пользователя с системой через интерпретатор. Примеры таких программ: gnome-terminal, xterm, konsole и другие. Когда вы запускаете терминал, он запускает оболочку (shell), которая является интерпретатором команд. Наиболее популярные оболочки в Linux: bash, zsh, sh, fish и другие. Оболочка интерпретирует введённые вами команды и выполняет их.

Представим, что мы отправляем команду в открытый терминал и что будет происходить внутри?
- Вы вводите команды с клавиатуры;
- Терминал передаёт введённые команды в оболочку;
- Оболочка интерпретирует команды и решает, что делать. Если это встроенная команда оболочки (например, cd), она выполняется непосредственно в оболочке. Если это внешняя команда (например, ls), оболочка вызывает соответствующий исполняемый файл;
- Если это внешняя команда, оболочка запускает соответствующий исполняемый файл, создавая новый процесс.
Новый процесс взаимодействует с ядром операционной системы для выполнения необходимых системных вызовов (например, для чтения содержимого директории или вывода данных на экран); - Вывод результата: Результаты выполнения команд (stdout и stderr) передаются обратно через оболочку в терминал, который отображает их пользователю.
Таким образом, структура взаимодействия выглядит следующим образом:
Пользователь → Терминал → Оболочка (Shell) → Ядро ОС.
Терминал является лишь интерфейсом для ввода команд и отображения вывода, а реальная работа выполняется оболочкой и ядром операционной системы.
Где найти bash команды?
Действительно, необходимо знать основные команды, которые позволят пользователю эффективно выполнять задачи. Для этого существуют утилиты справочники, которые содержат информацию о большинстве существующих утилит и команд к ним. Установим одну из них:
dnf update && dfn upgrade \
dnf install info -yЕсли вы используете apt-менеджер, то используйте команду:
apt update && apt upgrade \
apt install info -yПосле установки проверьте, что все установилось корректно и справочник работает:
info
Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Потребуется некоторое время для развертывания серверных мощностей. После чего вы можете подключиться любым из удобных способов. На основе предлагаемы VPS и VDS серверов, так же можно развернуть уже свою виртуальную инфраструктуру.
Для поиска команды необходимо прописать ключевой синтаксис и выбрать соответствующий раздел. К примеру, нам необходимо переместиться между директориями и для этого нужна команда, введем следующее:
info 
Так как мы ищем список команд для bash, то перейдем в соответствующий раздел и включим поиск по регулярным выражениям с помощью кнопки / . После чего введем ключевое слово и будем искать разные вхождения через кнопку S!

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