Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда Linux apropos

Автор: admin, 4 ноября, 2023
Команды

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

Примеры использования команды apropos в Linux

Содержание

  • Введение
  • Установка
    • Ubuntu
    • Arch Linux
  • Синтаксис
  • Опции
  • Использование в Linux команды apropos с примерами
    • Поиск по ключевому слову
    • Поиск по двум ключевым словам
    • Поиск любого из двух параметров
    • Поиск точного совпадения
    • Поиск по конкретным разделам
    • Запрет обрезки
  • Заключение

Введение

На страницах руководства (man) описаны командные функции, перечислены применимые аргументы и приведены примеры вариантов использования. Команда man вызывает руководство по командам Linux с синтаксисом man имя_команды. Поэтому незнание имени команды создает проблему.

Установка

Ubuntu

В дистрибутиве Ubuntu команда apropos предустановлена:

oleg@mobile:~$ which apropos
/usr/bin/apropos
oleg@mobile:~$ 

Смотрим версию:

oleg@mobile:~$ apropos -V
apropos 2.9.1
oleg@mobile:~$ 

Arch Linux

Устанавливаем пакет man-db, в который включена команда apropos:

oleg@mobile:~:$ yay -S man-db
Sync Explicit (1): man-db-2.12.0-1
разрешение зависимостей...
проверка конфликтов...

Пакеты (2) libpipeline-1.5.7-1  man-db-2.12.0-1

Будет загружено:    1,13 MiB
Будет установлено:  2,36 MiB

:: Приступить к установке? [Y/n] y

Синтаксис

oleg@mobile:~$ apropos [ПАРАМЕТР...] КЛЮЧ...

Опции

-d, --debug
Показывать сообщения отладки
-v, --verbose
Выводить подробные предупреждающие сообщения
-e, --exact
Искать точное совпадения каждого ключа
-r, --regex
Считать каждый ключ регулярным выражением
-w, --wildcard
Ключ(и) содержит групповые символы
-a, --and
Требуется совпадение всех ключей
-l, --long
Не обрезать вывод по ширине терминала
-C, --config-file=ФАЙЛ
Использовать указанный пользовательских файл настроек
-L, --locale=ЛОКАЛЬ
Задать локаль для этого поиска
-m, --systems=СИСТЕМА
Использовать справочные страницы от других систем
-M, --manpath=ПУТЬ
Установить путь поиска справочных страниц в значение ПУТЬ
-s, --sections=СПИСОК, --section=СПИСОК
Искать только в этих секциях (разделяются двоеточиями)
-?, --help
Показать эту справку
--usage
Показать короткую справку по использованию
-V, --version
Показать номер версии программы

Обязательные или необязательные аргументы к длинным именам параметров остаются таковыми и к соответствующим коротким параметрам.

Использование в Linux команды apropos с примерами

Поиск по ключевому слову

Основное использование команды apropos — поиск одного ключевого слова на страницах руководства. Запустив утилиту с ключевым словом list находим экземпляры с его упоминанием:

oleg@mobile:~$ apropos list
acl (5)              - Access Control Lists
acpi_listen (8)      - ACPI event listener
add-apt-repository (1) - Adds a repository into the /etc/apt/sources.list or /etc/apt/sources.list.d or removes an existing one
add-shell (8)        - add shells to the list of valid login shells
...
xlsatoms (1)         - list interned atoms defined on server
xlsclients (1)       - list client applications running on a display
xlsfonts (1)         - server font list displayer for X
XML::XPathEngine::NodeSet (3pm) - a list of XML document nodes
zipinfo (1)          - list detailed information about a ZIP archive
oleg@mobile:~$

Команда apropos также показала следующие совпадения, например listener или lists.

Поиск по двум ключевым словам

Для сужения совпадений добавляем ещё одну переменную directory, указывающую на каталоги. Для включения в вывод обоих ключевых слов запускаем команду с опцией -a:

oleg@mobile:~$ apropos -a list directory
chacl (1)            - change the access control list of a file or directory
dir (1)              - list directory contents
File::Listing (3pm)  - parse directory listing
ls (1)               - list directory contents
ntfsls (8)           - list directory contents on an NTFS filesystem
vdir (1)             - list directory contents
oleg@mobile:~$

Аналогичного результата можно достигнуть без использования опции -a, заключив ключевые слова в двойные кавычки:

oleg@mobile:~$ apropos "list directory"
dir (1)              - list directory contents
ls (1)               - list directory contents
ntfsls (8)           - list directory contents on an NTFS filesystem
vdir (1)             - list directory contents
oleg@mobile:~$

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

Поиск любого из двух параметров

Несмотря на то, что опция -a действует как логическое И, работа команды apropos с несколькими условиями поиска без аргументов действует как логическое ИЛИ:

oleg@mobile:~$ apropos -a list directory
chacl (1)            - change the access control list of a file or directory
dir (1)              - list directory contents
File::Listing (3pm)  - parse directory listing
ls (1)               - list directory contents
ntfsls (8)           - list directory contents on an NTFS filesystem
vdir (1)             - list directory contents
oleg@mobile:~$ 

Поиск точного совпадения

Для того чтобы в результатах поиска отсутствовали слова, включающие поисковое слово, команда apropos запускается с опцией -e:

oleg@mobile:~$ apropos -e set
apparmor (7)         - kernel enhancement to confine programs to a limited set of resources.
apt-mark (8)         - show, set and unset various settings for a package
armscii-8 (7)        - Armenian character set encoded in octal, decimal, and hexadecimal
ascii (7)            - ASCII character set encoded in octal, decimal, and hexadecimal
bind_textdomain_codeset (3) - set encoding of message translations
bindtextdomain (3)   - set directory containing message catalogs
...
zramctl (8)          - set up and control zram devices
oleg@mobile:~$

Поиск по конкретным разделам

Разделы руководства:

oleg@mobile:~$ man man
MAN(1)                                        Утилиты просмотра справочных страниц                                       MAN(1)

НАЗВАНИЕ
       man - доступ к системным справочным страницам

СИНТАКСИС
       man [параметры man] [[раздел] страница ...] ...
       man -k [параметры apropos] регвыр ...
       man -K [параметры man] [раздел] термин ...
       man -f [whatis параметры] страница ...
       man -l [параметры man] файл ...
       man -w|-W [параметры man] страница ...

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

       В таблице ниже показаны номера справочных разделов и описание их содержимого.

       1   Исполняемые программы или команды оболочки (shell)
       2   Системные вызовы (функции, предоставляемые ядром)
       3   Библиотечные вызовы (функции, предоставляемые программными библиотеками)
       4   Специальные файлы (обычно находящиеся в каталоге /dev)
       5   Форматы файлов и соглашения, например о /etc/passwd
       6   Игры
       7   Разное (включает пакеты макросов и соглашения), например man(7), groff(7)
       8   Команды администрирования системы (обычно, запускаемые только суперпользователем)
       9   Процедуры ядра [нестандартный раздел]

       Справочная страница состоит из нескольких разделов.

       Стандартные  имена  разделов:  НАЗВАНИЕ (NAME), СИНТАКСИС (SYNOPSIS), НАСТРОЙКИ (CONFIGURATION), ОПИСАНИЕ (DESCRIPTION),
       ПАРАМЕТРЫ  (OPTIONS),  КОД ВЫХОДА  (EXIT STATUS),  ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ  (RETURN VALUE),  ОШИБКИ  (ERRORS),   ОКРУЖЕНИЕ
 Manual page man(1) line 1 (press h for help or q to quit)

Для указания раздела руководства для поиска команда apropos включает опцию -s, а затем номер(а) раздела:

oleg@mobile:~$ apropos -s 1,8 list
...
poff (1)             - starts up, shuts down or lists the log of PPP connections
pon (1)              - starts up, shuts down or lists the log of PPP connections
popcon-largest-unused (8) - List size of unused packages
popularity-contest (8) - list the most popular Debian packages
...
xlsatoms (1)         - list interned atoms defined on server
xlsclients (1)       - list client applications running on a display
xlsfonts (1)         - server font list displayer for X
zipinfo (1)          - list detailed information about a ZIP archive
oleg@mobile:~$

В данном случае были выведены списки разделов 1 и 8.

Запрет обрезки

По умолчанию команда apropos обрезает длинные строки в выводе:

oleg@mobile:~$ apropos list
...  
git-branch (1)       - List, create, or delete branches
git-ls-remote (1)    - List references in a remote repository
git-ls-tree (1)      - List the contents of a tree object
git-replace (1)      - Create, list, delete refs to replace objects
git-rev-list (1)     - Lists commit objects in reverse chronological order
git-show-ref (1)     - List references in a local repository
git-sparse-checkout (1) - Initialize and modify the sparse-checkout configuration, which reduces the checkout to a set of paths ...
git-tag (1)          - Create, list, delete or verify a tag object signed with GPG
...

Во избежание обрезки строк утилиту следует запускать с опцией -l:

oleg@mobile:~$ apropos -l list
...  
git-branch (1)       - List, create, or delete branches
git-ls-remote (1)    - List references in a remote repository
git-ls-tree (1)      - List the contents of a tree object
git-replace (1)      - Create, list, delete refs to replace objects
git-rev-list (1)     - Lists commit objects in reverse chronological order
git-show-ref (1)     - List references in a local repository
git-sparse-checkout (1) - Initialize and modify the sparse-checkout configuration, which reduces the checkout to a set of paths given by a list of patterns.
git-tag (1)          - Create, list, delete or verify a tag object signed with GPG
...

Заключение

В этой статье вы ознакомились с использованием в Linux команды apropos. Умение пользоваться ей весьма актуально для начинающих пользователей.

Последние материалы

  • Файловый менеджер Thunar
    9 hours ago
  • Эмулятор терминала Terminator
    5 days 11 hours ago
  • Приложение scanimage
    1 week 4 days ago
  • Утилита sensors
    2 weeks 1 day ago
  • Сканер Rkhunter
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru