ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Поиск доступных команд Linux с помощью apropos

Поиск доступных команд Linux с помощью apropos

Итак, вы использовали определенную команду, но уже не можете вспомнить ее точное название?

Вы можете использовать сочетание клавиш ctrl+r в терминале и выполнить обратный поиск по истории оболочки.

Это могло бы сработать, если бы вы использовали команду в той же системе. Но что, если вы использовали его в какой-то другой системе Linux или просто наткнулись на какой-то форум или веб-сайт?

Хорошо, что есть специальная команда Linux, которая позволяет выполнять поиск по строке среди доступных команд в вашей системе.

 

Поиск команд Linux с помощью apropos

Команда apropos позволяет вам искать ключевое слово в имени и описании справочной страницы.

Во многих случаях этого должно быть достаточно, чтобы помочь вам найти нужную команду.

Использовать команду apropos просто:

apropos [options] keyword

 

Вот пример. Допустим, вы ищете команду, которая как-то связана с процессором. Вы можете использовать команду apropos с ключевым словом CPU:

apropos cpu

 

И он дает вам все команды, в названии которых есть CPU или в кратком описании его справочной страницы.

root@destroyers:~# apropos cpu
chcpu (8)            - configure CPUs
cpuid (4)            - x86 CPUID access device
cpuset (7)           - confine processes to processor and memory node subsets
lscpu (1)            - display information about the CPU architecture
msr (4)              - x86 CPU MSR access device
sched (7)            - overview of CPU scheduling
taskset (1)          - set or retrieve a process's CPU affinity

 

По умолчанию поиск нечувствителен к регистру, а ключевое слово может быть регулярным выражением. Вот почему вы видите много совпадений, таких как CPU, CPUID и т. д.

Если вы хотите точное совпадение, вы можете использовать опцию -e:

root@destroyers:~# apropos -e cpu
lscpu (1)            - display information about the CPU architecture
msr (4)              - x86 CPU MSR access device
sched (7)            - overview of CPU scheduling
taskset (1)          - set or retrieve a process's CPU affinity

 

Несколько ключевых слов

Если вы укажете более одного ключевого слова, apropos вернет все записи, соответствующие хотя бы одному из заданных ключевых слов.

Как вы можете видеть в приведенном ниже примере, есть 307 записей, соответствующих либо network, либо pro.

root@destroyers:~# apropos network pro | wc -l
307

 

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

root@destroyers:~# apropos "network pro"
mtr-packet (8)       - send and receive network probes

 

В приведенном выше примере требуется, чтобы все ключевые слова были вместе. Вы можете использовать опцию -a и показать записи, соответствующие всем ключевым словам в любом порядке.

root@destroyers:~# apropos -a network pro
ip-netns (8)         - process network namespace management
mtr-packet (8)       - send and receive network probes

 

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

Вы часто обнаружите, что команда apropos возвращает огромный вывод, и не все из них являются командами.

Это потому, что он ищет во всех разделах всех справочных страниц.

Если вы знакомы с справочными страницами, то должны знать, что в разделе 1 находятся пользовательские команды, а в разделе 8 — системные команды. Вот краткое напоминание:

Раздел Описание
1 Пользовательские команды
2 Системные вызовы
3 Библиотечные функции C
4 Устройства и специальные файлы
5 Форматы файлов и соглашения
6 Игры и т. д.
7 Разное
8 Инструменты системного администрирования и демоны

 

Итак, когда вы искали CPU, он показывал результаты из всех разделов. Обратите внимание на номер после каждой «команды».

root@destroyers:~# apropos cpu
chcpu (8)            - configure CPUs
cpuid (4)            - x86 CPUID access device
cpuset (7)           - confine processes to processor and memory node subsets
lscpu (1)            - display information about the CPU architecture
msr (4)              - x86 CPU MSR access device
sched (7)            - overview of CPU scheduling
taskset (1)          - set or retrieve a process's CPU affinity

 

Вы можете уточнить поиск и список записей только из определенных разделов:

root@destroyers:~# apropos -s 1,8 cpu
chcpu (8)            - configure CPUs
lscpu (1)            - display information about the CPU architecture
taskset (1)          - set or retrieve a process's CPU affinity

 

Есть способы получить помощь в командной строке Linux. Команда apropos является одной из них, и на удивление мало кто о ней знает.

Надеюсь, вы узнали что-то новое из этой статьи. Оставайтесь с нами, чтобы узнать больше.

Exit mobile version