Кроме опции -k
для man
, которая позволяет выполнить поиск по страницам руководства:
$ man -k bash man: can't set the locale; make sure $LC_* and $LANG are correct bash (1) - GNU Bourne-Again SHell bash-builtins (7) - bash built-in commands, see bash(1) bashbug (1) - report a bug in bash builtins (7) - bash built-in commands, see bash(1) rbash (1) - restricted bash, see bash(1)
можно использовать утилиту apropos
, которая позволяет выполнить более полный и точный поиск.
Синтаксис:
$ apropos keyword(s)
apropos
не выполняет поиск по всем страницам, вместо этого – он использует базу данных, сгенерированную из заголовков, номера и описания man-страниц с помощью whatis
.
Расположение его базы зависит от системы, для RHEL/CentOS – это файл /var/cache/man/whatis
:
$ head -n 5 /var/cache/man/whatis a2p (1) - Awk to Perl translator a64l (3) - convert between long and base-64 a64l (3p) - convert between a 32-bit integer and a radix-64 ASCII string ab (1) - Apache HTTP server benchmarking tool abbrev [Text::Abbrev] (3pm) - create an abbreviation table from a list
Полезные опции apropos:
-r
,--regex
: интерпретировать каждое ключевое слово как регулярное выражение;-w
,--wildcard
: интерпретировать каждое ключевое слово как shell-шаблоны;-e
,--exact
: будет выполнен поиск по точному соответствию ключевого слова/слов;-a
,--and
: отображать результаты, которые точно совпадают со всеми ключевыми словами;
Примеры:
$ apropos bash bash (1) - GNU Bourne-Again SHell bash-builtins (7) - bash built-in commands, see bash(1) bashbug (1) - report a bug in bash builtins (7) - bash built-in commands, see bash(1) rbash (1) - restricted bash, see bash(1)
Поиск по нескольким словам:
$ apropos bash whois apropos: can't set the locale; make sure $LC_* and $LANG are correct bash (1) - GNU Bourne-Again SHell bash-builtins (7) - bash built-in commands, see bash(1) bashbug (1) - report a bug in bash builtins (7) - bash built-in commands, see bash(1) rbash (1) - restricted bash, see bash(1) whois (1) - client for the whois directory service whois.conf (5) - alternative WHOIS servers list for whois client
Поиск по командам, которые имеют “delete” в описании:
$ apropos -w "*delete*" apropos: can't set the locale; make sure $LC_* and $LANG are correct git-branch (1) - List, create, or delete branches git-replace (1) - Create, list, delete refs to replace objects git-symbolic-ref (1) - Read, modify and delete symbolic refs git-tag (1) - Create, list, delete or verify a tag object signed with GPG groupdel (8) - delete a group nfacct (8) - command line tool to create/retrieve/delete accounting objects shred (1) - overwrite a file to hide its contents, and optionally delete it systemd-tmpfiles (8) - Creates, deletes and cleans up volatile and temporary files and directories systemd-tmpfiles-clean.service (8) - Creates, deletes and cleans up volatile and temporary files and directories systemd-tmpfiles-clean.timer (8) - Creates, deletes and cleans up volatile and temporary files and directories systemd-tmpfiles-setup-dev.service (8) - Creates, deletes and cleans up volatile and temporary files and directories systemd-tmpfiles-setup.service (8) - Creates, deletes and cleans up volatile and temporary files and directories tr (1) - translate or delete characters userdel (8) - delete a user account and related files
Поиск с использование регулярного выраженния:
$ apropos -r '^git.*$' | head -n 5 apropos: can't set the locale; make sure $LC_* and $LANG are correct Git (3pm) - Perl interface to the Git version control system git (1) - the stupid content tracker git-add (1) - Add file contents to the index git-am (1) - Apply a series of patches from a mailbox git-annotate (1) - Annotate file lines with commit information
Ссылки по теме
apropos, whatis and makewhatis