Введение в командный интерфейс GNU/Linux

Андрей Михайлович Васильев

2020

Графический пользовательский интерфейс

Пользователи сейчас приучены к графическому интерфейсу:

«Продвинутое» использование интерфейса компьютера

Что такое командный интерфейс

CLI, command line interface, командный интерфейс — это способ взаимодействия с ОС, при которой пользователь вводит текстовые команды с клавиатуры, а приложение-интерпретатор их выполняет

Процесс взаимодействия выглядит следующим образом:

  1. Командный интерпретатор показывает приглашение для ввода
  2. Пользователь вводит текстовую команду и нажимает «Ввод»
  3. Командный интерпретатор обрабатывает строку
  4. Пока команда выполняется, то ввод и вывод передаются команде
  5. После завершения команды интерпретатор опять показывает приглашение

Какие бывают командные интерпретаторы

Командный интерпретатор - это обычное приложение, которое запускается средствами ОС, следовательно под каждой ОС может быть установлено множество таких интерпретаторов

Типичные представители интерпретаторов:

Мы будем рассматривать BASH, Bourne Again Shell, в честь создателя оригинального приложения sh Стива Борна

Эмуляторы терминала

Для работы с командным интерпретатором необходимы другие приложения — эмуляторы терминала

Они предоставляют графический интерфейс, в котором можно взаимодействовать с нужными командными интерпретаторами

Linux также обеспечивает возможность работы с интерпретатором без графического интерфейса. Они доступны с помощью сочетания клавиш Ctrl+Alt+F1 (F2, F3, …)

Разбор приглашения командного интерпретатора

Каждое хорошее интерактивное приложение должно показывать пользователю, что оно ожидает от него ввод данных. Данными для командного интерпретатора являются команды от пользователя

Типичный вид приглашения BASH:

[andrey@andrey-home-pc ~]$

Чтение ответов от команд

Давайте введём некорректную команду aoeucrg:

andrey@andrey-home-pc:~$ aoeucrg

В результате обработки команды bash сообщит, что команда неверна:

bash: aoeucrg: команда не найдена
andrey@andrey-home-pc:~$

Не стоит рассчитывать, что вы «ввели всё правильно» и «оно должно было правильно отработать» — всегда читайте результат работы команды

Классические приложения UNIX не выводят ничего, если они выполнились без ошибок

Базовое взаимодействие с командным интерпретатором

При вводе команды её можно редактировать:

Последние 1000 введённых команд хранятся в истории. Клавиши вверх-вниз позволяют двигаться по истории команд. Команду из истории можно редактировать

Решение проблемы с командой

Плохо: при возникновении проблемы начать вводить команду заново

Хорошо: если в команде была ошибка, тогда надо вызвать из истории последнюю команду, отредактировать её и выполнить заново

Ряд рабочих команд

date — получение информации о текущей дате и времени

andrey@andrey-home-pc:~$ date
Ср 02 сен 2020 11:19:38 MSK

cal и ncal — приложения для отображения календарей на месяц или год

andrey@andrey-home-pc:~$ ncal
    Сентябрь 2020
Пн     7 14 21 28
Вт  1  8 15 22 29
Ср  2  9 16 23 30
Чт  3 10 17 24
Пт  4 11 18 25
Сб  5 12 19 26
Вс  6 13 20 27

Ещё пара рабочих команд

df — отображение информации о занятом дисковом пространстве

andrey@andrey-home-pc:~$ df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdd3          111G          56G   56G           51% /
/dev/sde1          466G         384G   82G           83% /home
/dev/sdd2          454M          89M  362M           20% /boot

free — информация об использовании оперативной памяти

andrey@andrey-home-pc:~$ free
              total        used        free      shared  buff/cache   available
Mem:       32889440     6600560     6774420      337268    19514460    25557628
Swap:      16777212           0    16777212

Завершение работы терминала

Для окончания работы терминала достаточно либо ввести команду exti, либо при пустой командной строке наберите сочетание клавиш Ctrl-D