ОП.05Файлы, маски, поиск и справказанятие 4Материалы

Часть 6 из 7

Справочная система

В этой части разберём встроенную справку Linux: страницы man и их разделы, поиск по странице, краткую справку --help и справку по встроенным командам оболочки.

  1. 6.1 Страница справки: man
  2. 6.2 Поиск внутри страницы
  3. 6.3 Разделы справки
  4. 6.4 Краткая справка: --help и help

6.1 Страница справки: man

Запоминать все ключи всех команд не нужно. В Linux описание каждой программы устанавливается вместе с ней и открывается командой man (manual — «руководство»). Справка работает без интернета и описывает ту версию программы, которая установлена в системе. На прошлом занятии мы уже открывали страницу man hier с описанием каталогов.

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

Раздел страницыСодержание
NAMEимя команды и её назначение одной строкой
SYNOPSISкак записывается команда: в квадратных скобках необязательные части, многоточие означает «можно повторить»
DESCRIPTIONподробное описание и список ключей
EXAMPLESпримеры использования; есть не на всех страницах
SEE ALSOсвязанные страницы

Запись ls [OPTION]... [FILE]... в разделе SYNOPSIS читается так: команда ls, затем любое число ключей, затем любое число файлов, причём и ключи, и файлы можно не указывать. У каждого ключа на странице есть описание; многие ключи записываются в двух видах — коротком (-a) и длинном (--all), оба действуют одинаково.

КлавишаДействие
Пробел и bстраница вперёд и назад
↓ и ↑строка вперёд и назад
/ образец Enterпоиск по тексту вперёд
n и Nследующее и предыдущее совпадение
g и Gначало и конец страницы
hсписок всех клавиш
qвыход из справки
В терминалеСтраница справки ls
  1. man ls# открыть справку; выход — клавиша q
    что делает

    Что делает команда. Открывает страницу справки команды ls. Выход — клавиша q.

    По частям:

    man
    открыть страницу встроенной справки
    ls
    страница команды ls
Результат

на весь терминал открывается страница LS(1) с разделами NAME, SYNOPSIS и DESCRIPTION.

Снимок 6.1Ubuntu 24.04
  1. 1имя страницы и номер раздела: 1 — команды пользователя
  2. 2NAME — назначение команды одной строкой
  3. 3SYNOPSIS — запись команды; квадратные скобки — необязательные части
  4. 4DESCRIPTION — описание и список ключей
  5. 5короткий и длинный вариант одного ключа
Начало страницы справки команды ls.Весь снимок ↗

Начало страницы справки команды ls.

Что показывает снимок. Страница справки ls начинается с разделов NAME, SYNOPSIS и DESCRIPTION; у ключей есть короткая и длинная запись.

Где это пригодится. Прежде чем искать ответ в интернете, открывают man: там описана установленная версия программы.

Снимок 6.2Ubuntu 24.04
  1. 1имя страницы и номер строки; h — список клавиш, q — выход
Строка состояния внизу страницы.Весь снимок ↗

Строка состояния внизу страницы.

Что показывает снимок. Строка состояния показывает имя страницы и номер строки, а также напоминает клавиши h и q.

Где это пригодится. Если справка открылась и терминал не реагирует на команды, это страница просмотра: из неё выходят клавишей q.

6.2 Поиск внутри страницы

Страница ls занимает больше двухсот строк, и листать её ради одного ключа долго. Вместо этого используют поиск: клавиша /, затем образец и Enter. Программа прокручивает страницу к первому совпадению и подсвечивает его, клавиша n переходит к следующему совпадению.

Искать удобнее по действию, которое нужно выполнить. Например, нужен ключ, который сортирует файлы по размеру. Образец sort by file size сразу приводит к строке с ключом -S. Строка состояния внизу экрана показывает номер строки и долю пройденной страницы: line 141/226 73%.

Порядок действийНайти ключ по описанию действия
  1. 1
    Откройте справку: man ls.
  2. 2
    Нажмите /: внизу экрана появится строка ввода.
  3. 3
    Наберите описание действия по-английски, например sort by file size, и нажмите Enter.
  4. 4
    Если совпадение не то, нажимайте n, пока не найдёте нужную строку.
  5. 5
    Нажмите q и выполните команду с найденным ключом.
В терминалеПоиск ключа сортировки
  1. man ls
    что делает

    Что делает команда. Открывает страницу справки команды ls. Выход — клавиша q.

    По частям:

    man
    открыть страницу встроенной справки
    ls
    страница команды ls
  2. /sort by file size# внутри справки: / и образец, затем Enter
Результат

страница прокручена к ключу -S, найденные слова подсвечены.

Снимок 6.3Ubuntu 24.04
  1. 1найденный ключ -S
  2. 2подсвечено совпадение с образцом поиска
  3. 3длинный ключ --sort задаёт тот же порядок словом size
Поиск по странице привёл к ключу -S; внизу строка состояния с номером строки.Весь снимок ↗

Поиск по странице привёл к ключу -S; внизу строка состояния с номером строки.

Что показывает снимок. Поиск по образцу sort by file size привёл к ключу -S, найденные слова подсвечены.

Где это пригодится. Поиск по описанию действия быстрее, чем чтение страницы целиком: так находят ключи у find, cp, tar и других команд.

6.3 Разделы справки

Страницы справки разделены на пронумерованные разделы. Одно имя может встречаться в нескольких разделах: passwd — это и команда смены пароля (раздел 1), и формат файла /etc/passwd (раздел 5). Номер раздела пишут в скобках после имени: passwd(5).

РазделСодержаниеПримеры
1команды пользователяls(1), cp(1), find(1)
5форматы файловpasswd(5), fstab(5)
7обзоры и соглашенияhier(7), glob(7)
8команды администрированияuseradd(8), mount(8)

man имя открывает страницу из первого раздела, где она нашлась. Чтобы открыть конкретный раздел, его номер указывают перед именем: man 5 passwd. Ключ -f показывает, в каких разделах есть страница с таким именем. Ключ -k ищет образец в кратких описаниях всех страниц: он помогает, когда имя команды неизвестно, а действие известно, например «copy files».

Для встроенных команд оболочки отдельных страниц нет: на man cd система отвечает No manual entry for cd. Описание встроенных команд выводит встроенная команда help.

В терминалеПоиск страниц
  1. man -f passwd# в каких разделах есть passwd
    что делает

    Что делает команда. Показывает, в каких разделах справки есть страница passwd, с кратким описанием каждой.

    По частям:

    man
    открыть страницу встроенной справки
    -f
    показать, в каких разделах есть страница с этим именем
    passwd
    страница passwd
  2. man -k "copy files"# поиск по описаниям
    что делает

    Что делает команда. Ищет слова «copy files» в кратких описаниях всех страниц справки.

    По частям:

    man
    открыть страницу встроенной справки
    -k
    искать образец в кратких описаниях страниц
    "copy files"
    образец поиска: слова «copy files»
  3. man cd# встроенная команда
    что делает

    Что делает команда. Ищет страницу справки cd; для встроенной команды оболочки её нет.

    По частям:

    man
    открыть страницу встроенной справки
    cd
    страница cd
Результат

у passwd есть страницы в разделах 1, 1ssl и 5; -k находит cp; для cd страницы нет.

Снимок 6.4Ubuntu 24.04
  1. 1номер раздела: 1 — команда passwd, 5 — формат файла /etc/passwd
  2. 2man -k ищет по описаниям страниц
  3. 3у встроенной команды cd нет страницы man
Одно имя в разных разделах справки и поиск по описаниям.Весь снимок ↗

Одно имя в разных разделах справки и поиск по описаниям.

Что показывает снимок. У имени passwd три страницы в разных разделах; man -k нашёл команду cp по описанию; для cd страницы нет.

Где это пригодится. man -k помогает найти команду, когда известно только действие. Сообщение No manual entry — повод проверить имя командой type.

Страница man 5 passwd описывает формат файла учётных записей: одна строка на пользователя и семь полей через двоеточие. Этот файл мы читали на прошлом занятии командой getent passwd.

В терминалеФормат файла /etc/passwd
  1. man 5 passwd# раздел 5 — форматы файлов
    что делает

    Что делает команда. Открывает страницу passwd из раздела 5 — описание формата файла /etc/passwd.

    По частям:

    man
    открыть страницу встроенной справки
    5
    номер раздела: 5 — форматы файлов
    passwd
    страница passwd
Результат

открывается страница PASSWD(5) с перечнем семи полей.

Снимок 6.5Ubuntu 24.04
  1. 1раздел 5 — «File Formats and Configuration»
  2. 2одна строка на учётную запись, семь полей
  3. 3поля по порядку: имя, пароль, UID, GID, комментарий, домашний каталог, оболочка
Страница раздела 5: формат файла /etc/passwd.Весь снимок ↗

Страница раздела 5: формат файла /etc/passwd.

Что показывает снимок. Раздел 5 описывает формат файла /etc/passwd: одна строка на учётную запись и семь полей через двоеточие.

Где это пригодится. Перед ручной правкой любого конфигурационного файла читают его страницу в разделе 5: man 5 fstab, man 5 crontab.

6.4 Краткая справка: --help и help

Страница man подробная, но иногда нужно только вспомнить написание ключа. Большинство программ выводят краткую справку при запуске с ключом --help: список ключей и описание каждого в одну строку. Вывод длинный, поэтому его ограничивают командой head или листают, передав в less: ls --help | less.

Справку по встроенным командам оболочки — cd, type, history — выводит встроенная команда help. Какой справкой пользоваться, подсказывает type: если имя — файл программы, читают --help и man; если имя — встроенная команда, читают help.

Порядок действийГде искать ответ про команду
  1. 1
    type имя — узнать, что это: программа или встроенная команда.
  2. 2
    Для программы — имя --help, чтобы вспомнить ключ.
  3. 3
    Если краткой справки мало — man имя и поиск по странице клавишей /.
  4. 4
    Если неизвестно имя команды — man -k с описанием действия.
  5. 5
    Для встроенной команды оболочки — help имя.
В терминалеКраткая справка
  1. ls --help | head -14# первые 14 строк справки
    что делает

    Что делает команда. Выводит первые 14 строк краткой справки ls.

    По частям:

    ls
    вывести содержимое каталога
    --help
    вывести краткую справку по ключам
    |
    передать вывод левой команды на вход следующей
    head
    оставить только первые строки
    -14
    сколько первых строк оставить: 14
  2. help cd | head -6# справка по встроенной команде
    что делает

    Что делает команда. Выводит первые 6 строк справки по встроенной команде cd.

    По частям:

    help
    встроенная команда оболочки: справка по встроенным командам
    cd
    справка по cd
    |
    передать вывод левой команды на вход следующей
    head
    оставить только первые строки
    -6
    сколько первых строк оставить: 6
  3. type help
    что делает

    Что делает команда. Сообщает, что help — встроенная команда оболочки.

    По частям:

    type
    встроенная команда оболочки: показать, чем является имя
    help
    имя help
Результат

--help выводит ключи прямо в терминал; help cd описывает встроенную команду cd.

Снимок 6.6Ubuntu 24.04
  1. 1--help выводит справку прямо в терминал
  2. 2ключ и его описание в одной строке
  3. 3help выводит справку по встроенной команде cd
  4. 4help тоже встроена в оболочку
Краткая справка программы и справка встроенной команды.Весь снимок ↗

Краткая справка программы и справка встроенной команды.

Что показывает снимок. ls --help вывел краткую справку в терминал, help cd — справку по встроенной команде; type подтвердил, что help встроена в оболочку.

Где это пригодится. Краткую справку открывают, когда нужно только вспомнить написание ключа. Для встроенных команд cd, history, type справку выводит help.

Итоги части 6

  • man имя открывает страницу справки; разделы страницы: NAME, SYNOPSIS, DESCRIPTION.
  • Внутри справки / ищет по тексту, n переходит к следующему совпадению, q закрывает страницу.
  • Раздел 1 — команды, 5 — форматы файлов, 8 — администрирование; man 5 passwd открывает раздел 5.
  • man -f показывает разделы страницы, man -k ищет по описаниям.
  • --help — краткая справка программы, help — справка встроенной команды оболочки.

В отчётСнимок найденного ключа -S и снимок man -f passwd.

Открыть в отдельной вкладке ↗