Знакомая ситуация, когда вы знаете саму команду, но вот не помните её аргументы? Думаю, вполне распространённая ситуация. В такой ситуации у вас один выход - обратиться к команде man.
Один из источников документации, который встроен в ОС Linux по умолчанию называется system manual pages
или man pages
. Эти страницы идут совместно с устанавливаемыми пакетами и описывают все возможности приложения. Доступ к этим страницам документации как раз осуществляется при помощи утилиты man
.
Команда man всю документацию для той или иной команды. Для того чтобы вывести инструкцию для ls мы вводим man ls
.
Обновление инструкций
Рекомендую время от времени выполнять команду sudo mandb
, которая обновляет документацию. Особенно если вдруг вы не нашли man для команды.
Разделы документаций
Сами страницы документации произошли из документации разработчиков Linux (Linux Programmer’s Manual), которые были огромными и делились на разделы.
Некоторые команды имеют несколько разделов документаций , номер раздела пишется сверху в скобках рядом с самой командой LS(1). Для того чтобы получить эти номера мы можем выполнить команду man -f command.
Если при выполнении команды вы получаете nothing appropriate выполните sudo mandb
.
man -f ip
ip (8) - show / manipulate routing, network devices, interfaces and tunnels
Вот список всех разделов:
- # 1👤 : Пользовательские команды
- # 2🌌 : Системные команды
- # 3📁 : Библиотеки
- # 4🧃 : Специальные файлы
- # 5📃 : Форматы файлов и соглашения
- # 6🎮 : Игры
- # 7🗞️ : Разное
- # 8🧸 : Команды системного администрирования (обычно только для root)
- # 9⚗️ : Подпрограммы ядра
Для того чтобы вызвать документацию именно по команде нам нужно указать раздел №1.
man 1 passwd
Для того чтобы вызвать документацию по файлу /etc/passwd нам нужно указать раздел №5.
man 5 passwd
Просмотр по всем категориям
Если вы видите, что у команды несколько категорий и вы хотите просмотреть их сразу все одной командой можно использовать man -a command
. Сперва выведется инструкция для первой категории, после выхода вам будет предложено просмотреть следующую категорию (ENTER).
man -a passwd
q
--Man-- next: passwd(1ssl) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
Поиск по ключевым словам
Если вы хотите узнать какие команды вы можете использовать для своей задачи можно поискать определённое слово в инструкциях man выполнив man -k keyword
. Например, я хочу задать пароль пользователя:
man -k pass
lpasswd (1) - Change group or user password
openssl-passwd (1ssl) - compute password hashes
pam_localuser (8) - require users to be listed in /etc/passwd
passwd (1) - update user's authentication tokens
Команда apropos pass выполнить тоже самое, пользуйтесь той которая больше нравится.
Навигация в man ⌨️
При вызове команды man
вы получаете новое окно, по которому также нужно перемещаться, используя горячие клавиши либо команды.
Команда | Результат | |
---|---|---|
Spacebar (пробел) | Пролистать вниз на одну страницу | |
PageDown | Пролистать вниз на одну страницу | |
PageUp | Пролистать вверх на одну страницу | |
DownArrow | Пролистать вниз на одну линию | |
UpArrow | Пролистать вверх на одну линию | |
D | Пролистать вниз на половину страницы | |
U | Пролистать вверх на половину страницы | |
/string | Поиск определённого слова (string) по странице ниже. Есть поддержка регулярных выражений | |
N | Переход к следующему совпадению | |
Shift+N | Переход к предыдущему совпадению | |
G | Переход в начало документации | |
Shift+G | Переход в конец документации | |
Q | Выход |
Структура man
Документация по каждому разделу также делиться на категории, наличие некоторых из них зависит от пакета. Например, у одной команды могут быть примеры, а у другой нет.
Заголовок | Описание |
---|---|
NAME | Имя команды или исполняемого файла |
SYNOPSIS | Строка со списком всех возможных атрибутов команды |
DESCRIPTION | Описание для чего используется команда |
OPTIONS | Описание опций, которая может принимать команда |
FILES | Список файлов и директорий, относящихся к команде |
BUGS | Собственно известные баги |
SEE ALSO | Дополнительные man pages |
EXAMPLES | Собственно примеры использования команды |
AUTHOR | Автор документации |
Онлайн документация
Если вам вдруг чем-то не подошёл man, то вы может просмотреть инструкции в интернете.
/usr/share/doc
Еще одно место где вы можете просмотреть информацию о команде это директория /usr/share/doc
. В этой директории вы можете найти changelog по команде, узнать кто автор и также почитать инструкцию (FAQ).
find /usr/share/doc/ -name FAQ
/usr/share/doc/bash/FAQ
/usr/share/doc/zlib/FAQ
/usr/share/doc/curl/FAQ
more /usr/share/doc/curl/FAQ
cat /usr/share/doc/passwd/AUTHORS
Используем help
Также каждая команда имеет атрибут --help
, которым вы также можете воспользоваться для просмотра документации.
ls --help | less
whatis
Вы также можете просмотреть для чего именно предназначена та или иная команда, используя whatis command
.
whatis ls
ls (1) - list directory contents
Не хватает man?
Есть вторая команда, которая делает всё тоже самое, но только иногда может выдавать немного больше информации, но только иногда. Это команда info.
info passwd
Комментарии