Команда apropos в linux

Обновлено: 05.07.2024

Каждый пользователь Linux может забыть или просто не знать название какой-нибудь команды, которая выполняет то или иное действие. В этой статье я расскажу, как найти команду по ключевому слову или фразе.

Предположим, что вы не знаете или забыли название команды, которая должна выполнять какое-нибудь действие. В этом случае команду можно найти с помощью ключевого слова. Для этого существует утилита apropos. Утилита apropos выполняет поиск ключевого слова в первых строчках man-страниц и выводит те стоки, которые содержат указанное ключевое слово. В качестве ключевого слова можно также задать регулярное выражение или шаблон.

Простой поиск

Например, мы хотим найти команды, которые включают в свое описание или название слово move. Тогда мы должны выполнить команду:

В результате на экран будет выведен список команд и их описания, в которых было найдено слово move:

Поиск с учетом раздела

На самом деле в нем будут присутствовать не только команды, но и, например, функции языка C, так как для них тоже существуют man страницы (кстати, apropos отлично подойдет для поиска C функций). Все man-страницы разделены на разделы (apropos выводит номер раздела в скобках после названия команды). Например, в первом разделе man-страниц расположены описания команд Linux. Для того, чтобы вывести информацию только из man-страниц определенного раздела, существует опция -s, за которой указывается номер man-страницы.

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

Для удобства можно отсортировать результаты, воспользовавшись командой sort:

Поиск по нескольким словам

Если вы вводите несколько слов через пробел, тогда apropos найдет все команды, содержащие любое из ключевых слов. Например, мы хотим найти команды, по ключевым словам move и empty:

В результате получим:

Поиск точного вхождения слов

Обратите внимание, что apropos по ключевому слову move найдет и строки со словами remove. Чтобы искать точное вхождение слов используется опция -e:

Теперь мы получим только те команды, которые содержат слова move и empty:

Поиск по фразе

Если вы хотите выполнить поиск по какой-нибудь фразе, содержащей пробелы, тогда ее нужно заключить в кавычки:

Использование регулярных выражений

Команда apropos поддерживает поиск с использованием регулярных выражений, для этого служит опция -r:

Я рассказал об основных возможностях утилиты apropos. Дополнительную информацию можно получить в помощи по этой команде (у меня в Ubuntu на русском языке, кстати, но к сожалению, без примеров):

Linux / Unix поставляется с огромным количеством команд, и поэтому иногда бывает трудно запомнить каждую команду. Команда apropos становится полезной в таких случаях. Команда apropos помогает пользователю, когда он не помнит точную команду, но знает несколько ключевых слов, связанных с командой, которые определяют ее использование или функциональность. Он ищет справочную страницу Linux с помощью ключевого слова, предоставленного пользователем, чтобы найти команду и ее функции.

Синтаксис:

Пример 1. Предположим, вы не знаете, как сжимать файл, тогда вы можете ввести следующую команду в терминале, и она покажет все связанные команды и их краткое описание или функциональность.

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


Пример 2: кстати, также поддерживают несколько ключевых слов, если они заданы в качестве аргумента, т. Е. Мы можем предоставить более одного ключевого слова для лучшего поиска. Таким образом, если указаны два ключевых слова, команда apropos отобразит весь список команды, который содержит либо первое ключевое слово в описании справочной страницы, либо второе ключевое слово.





Параметры:




Все команды, связанные с sudo, отображаются в списке, когда sudo задается в качестве подстановочного знака.

Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.




Навигация по основам Linux от основателя Gentoo:
Часть I: 1, 2, 3, 4
Часть II: 1, 2, 3, 4, 5
Часть III
  1. Документация (вступление) (итоги и ссылки)

Предисловие

Об этом руководстве

Встречайте «Администрирование для продолжающих», третье из четырех пособий, созданных для подготовки к экзамену «Linux Professional Institute's 101» (2-ая редакция). Данная часть идеальна для тех, кто хочет улучшить свои знания фундаментальных основ администрирования Linux. Мы охватим ряд тем, включая системную и интернет документацию, модель прав доступа в Linux, управление аккаунтами пользователей и настройку окружения входа в систему.

Если вы новичок в Linux, рекомендуем начать с Частей 1 и 2. Для некоторых большая часть информации, изложенной в самоучителе, будет новой, но более опытные пользователи могут использовать его для того, чтобы отточить свои навыки администрирования Linux.

В конце серии этих руководств (всего их восемь, подготавливающих к экзаменам LPI 101 и 102) у вас будут все знания, необходимые для того, чтобы стать системным администратором Linux систем, а так-же вы будете готовы к получению сертификата LPIC уровня 1 от института Linux Professional.

Системная и сетевая документация

Типы системной документации в Linux

Существует три основных источника документации в Linux системах: страницы руководств (маны), info-страницы и поставляемая с приложениями документация в /usr/share/doc. В этом разделе мы рассмотрим каждый из этих источников, перед тем, как обращаться во внешний мир за дополнительной информацией.

Для доступа к ману просто введите man, а затем ваш запрос. Запустится программа-пейджер (просмотрщик, обычно less или more) со справочной информацией. Для того, чтобы закрыть её, нажмите клавишу q. Например, чтобы посмотреть информацию о команде ls, введите:

Знание структуры мана поможет быстро перемещаться к необходимой вам информации. Обычно, вы найдете следующие разделы в мане:


NAME (ИМЯ) Имя и однострочное описание команды
SYNOPSIS (ОБЗОР) Краткий обзор
DESCRIPTION (ОПИСАНИЕ) Углублённое описание функционала команды
EXAMPLES (ПРИМЕРЫ) Советы по использованию
SEE ALSO (СМОТРИ ТАКЖЕ) Связаные темы (обычно также ман-страницы)

Секции ман-страниц

Файлы, содержащие информацию манов хранятся в /usr/share/man (или в /usr/man на некоторых старых системах). В этой директории вы найдёте страницы руководств, упорядоченные по следующим секциям:


man1 Пользовательские программы
man2 Системные вызовы
man3 Библиотечные функции
man4 Специальные файлы
man5 Форматы файлов
man6 Игры
man7 Другое

Многочисленные ман-страницы

Некоторые темы существуют более чем в одной секции. Для демонстрации этого воспользуюемся командой whatis, показывающей доступные маны по теме:

В данном случае, man printf по-умолчанию обратится к странице в секции 1 (Пользовательские программы). Если мы пишем программу на языке C, нас вероятно больше интересует страница из секции 3 (Библиотечные функции). Вы можете вызывать ман необходимой секции указав это в командной строке, так для вызова printf(3) мы введём:

$ man 3 printf

Поиск нужного мана

Иногда сложно найти правильную ман-страницу по заданной теме. В этом случае можно воспользоваться man -k для поиска по разделам «ИМЯ» ман-страниц. Но будьте осторожны, поскольку осуществляется поиск по подстроке и что-то, навроде man -k ls, выдаст очень много всего! Вот пример использования уточняющего запроса:

Всё об “apropos”

Предыдущий пример не случаен. Во-первых, команда apropos полностью соответствует команде man -k. (На самом деле, я даже вам раскрою небольшой секрет. Когда вы запускаете man -k, фактически «за кулисами» стартует apropos). Во-вторых, существует команда makewhatis, которая сканирует все страницы в вашей Linux системе и создает базу данных для whatis и apropos. Обычно она запускается периодически из-под рута, чтобы поддерживать базу в актуальном состоянии:

Для более подробной информации о команде «man» и её друзьях, вам стоит начать с изучения её собственной ман-страницы:

MANPATH

По умолчанию, программа man будет искать ман-страницы в /usr/share/man, /usr/local/man, /usr/X11R6/man, и быть может в /opt/man. Возможно, вы захотите добавить новый пункт в этом пути поиска. Для этого, просто откройте /etc/man.conf в текстовом редакторе и добавьте строчку вроде такой:

С этого момента, страницы руководств в директориях /opt/man/man* также будут найдены. Помните, что вам необходимо запустить makewhatis, чтобы добавить новые маны в базу whatis.

GNU info

Одно из ограничений страниц руководств это то, что они не поддерживают гипертекст, так что у вас не получится просто переходить от одного руководства к другому. Ребята из GNU увидели этот недостаток и ввели другой формат документации: инфо-страницы. Многие из программ GNU идут с расширенной документацией в формате инфо-страниц. Вы можете приступить к чтению инфо-страниц при помощи комманды «info»:

Простой вызов команды info даст список доступных инфо-страниц в вашей системе. Вы можете перемещаться по нему используя стрелки, переходить по ссылкам (которые обозначены звездочкой) с помощью клавиши Enter и выйти нажав q. Навигация основана на таковой в Emacs, так что если вы знакомы с этим редактором, вам будет легко освоиться. Чтобы познакомиться с Emacs, посмотрите руководство на developerWorks: Living in Emacs.

Вы также можете указать нужную инфо-страницы в командной строке:

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

/usr/share/doc

Есть еще один источник помощи в вашей системе Linux. Большинство программ поставляются с дополнительной документацией в других форматах, таких как: простые текстовые файлы, PDF, PostScript, HTML. Посмотрите в каталоге usr/share/doc (или /usr/doc на более старых системах). Вы найдете длинный список директорий, каждая из которых идет с определенным приложением на вашей системе. Поиск по этой документации может навести вас на очень ценную информацию, которая не доступна в манах или инфо-страницах, такую как учебники или дополнительная технической документация. Беглый взгляд указывает на то, что здесь очень много материала для чтения:

$ cd /usr/share/doc
$ find . -type f | wc -l
7582

Фьюу! Вашим домашним заданием на этот вечер будет прочитать всего лишь половину (3791) этих документов. Учтите, завтра будет опрос. ;-)

Linux Documentation Project

В дополнение к системной документации, в интернете существует ряд отличных ресурсов посвященных Linux. "Linux Documentation Project" (LDP) — это группа добровольцев, которые занимаются составлением полного набора свободной документации по Linux. Данный проект существует чтобы собрать различные части документации по Linux в определенным месте, где её будет легко искать и использовать.

Обзор LDP

LDP состоит из следующих разделов:

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

LDP в добавок предоставляет доступ к списку ссылок и ресурсов, таких как Linux Gazette и Linux Weekly News, а также к спискам рассылки и архивам новостей.

Списки рассылки

Списки рассылки являются, вероятно, самым важным средством взаимодействия разработчиков Linux. Зачастую проекты разрабатываются участниками живущими на большом расстоянии друг от друга, возможно даже на противоположных сторонах земного шара. Списки рассылки представляют метод взаимодействия, в котором каждый разработчик проекта может связаться со всеми остальными и вместе дискутировать посредством электронной почты. Один из самых известных списков рассылки разработчиков, это Linux Kernel Mailing List (список рассылки ядра Linux).

Еще о списках рассылки

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

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

Группы новостей

Новостные группы (англ. newsgroups) в интернете похожи на списки рассылки, но основаны на другом протоколе, который называется NNTP (Network News Transfer Protocol, что в переводе «Сетевой протокол передачи новостей»), а не на обмене электронной почтой. Чтобы иметь возможность общаться, вам придется установить NTTP-клиент, например slrn или pan. Основным преимуществом является тот факт, что вы можете принять участие в дискуссии, когда вам это нужно, а не постоянно смотреть как она ломится в ваш почтовый ящик :-)

Наибольший интерес представляют новостные группы начинающиеся с comp.os.linux. Посмотреть список групп вы можете на сайте LDP.

Сайты поставщиков и прочие

Сайты различных дистрибутивов Linux зачастую предоставляют обновленную документацию, инструкции по установке, информацию о совместимости или несовместимости с оборудованием и другие средства поддержки, такие как поиск по базе знаний. Например:

Поставщики аппаратного и программного обеспечения

В последние годы, многие поставщики устройств и программного обеспечения добавили поддержку Linux для своих продуктов. На их сайтах вы можете найти информацию о том, какое оборудование поддерживает Linux, найти инструменты разработки программ, исходники, скачать драйвера для Linux под конкретное устройство, а также, узнать о других всевозможных Linux-проектах. Например:

  • IBM и Linux
  • HP и Linux
  • Sun и Linux
  • Oracle и Linux.

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

5 инструментов, чтобы запомнить команды Linux навсегда

Существуют тысячи инструментов, утилит и программ, которые предварительно установлены в системе Linux. Вы можете запускать их из окна терминала или виртуальной консоли как команды через оболочку (например, Bash).

Командой обычно является имя пути (например, / usr / bin / top) или базовое имя (например, top) программы, включая переданные ей аргументы. Тем не менее, среди пользователей Linux распространено заблуждение, что команда - это настоящая программа или инструмент.

Новичкам в Linux стоит ознакомиться с нашим постом про основные команды в Linux.

Запоминать команды Linux и их использование нелегко, особенно поначалу. В этой статье мы поделимся 5 инструментами командной строки для запоминания команд Linux.

История в Bash

Bash записывает все уникальные команды, выполненные пользователями системы, в файл истории. Файл истории каждого пользователя bash хранится в его домашнем каталоге (например, /home/tecmint/.bash_history для пользователя tecmint). Пользователь может просматривать только свой собственный файл истории, а root может просматривать файл истории bash для всех пользователей в системе Linux.

Чтобы просмотреть историю bash, используйте команду history:


результат работы команды history в Linux

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

Эта функция bash является одним из многих способов легко запомнить команды Linux.

Дружественная командная строка (Fish)

Fish это современная, мощная, удобная, многофункциональная и интерактивная оболочка, совместимая с Bash или Zsh. Он поддерживает автоматическое предложение имен файлов и команд в текущем каталоге и истории соответственно, что помогает вам легко запомнить команды.

На следующем снимке экрана команда «uname -r» находится в истории bash. Чтобы легко ее запомнить, введите «u» или «un», и fish автоматически предложит полную команду. Если вы хотите автоматически ввести команду, записанную вами, используйте клавишу со стрелкой вправо, чтобы выбрать ее и запустить.


Fish - дружественная командная строка

Fish - это полноценная программа-оболочка с множеством функций, позволяющих вам легко запомнить команды Linux.

Программа Apropos Tool

Apropos, ищет и отображает имя и краткое описание ключевого слова, например, имени команды, как написано на странице руководства этой команды.

Если вы не знаете точное имя команды, просто введите ключевое слово (регулярное выражение), чтобы найти ее. Например, если вы ищете описание команды add-apt-repository, вы можете набрать apt - apropos будет искать и выводить список всех команд со строкой apt, а также их описание.


Это еще один способ запоминания команд Linux, который поможет вам определить, какую команду использовать для конкретной задачи. Читайте дальше, потому что следующий инструмент еще интереснее.

Скрипт Explain Shell

Explain Shell - это небольшой скрипт Bash, объясняющий команды оболочки Для его работы требуется программа curl и работающее подключение к интернету. Он отображает сводку описания команды и, кроме того, если команда включает флаг, он также показывает описание этого флага.

Чтобы использовать его, сначала вам нужно добавить следующий код в конце файла $ HOME / .bashrc.

Сохраните и закройте файл, затем найдите его или откройте в новом окне терминала.

Если вы забыли, что делает команда «apropos -a», вы можете использовать команду объяснения.


Результат работы скрипта explain в Linux

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

Программа Cheat

Cheat - это простая интерактивная программа для работы командной строкой, которая показывает варианты использования команды Linux с рядом опций и их краткой понятной функцией. Она полезна как для новичков в Linux, так и системных администраторов.

Как установить и использовать данную программу, мы напишем в следующем посте. Подписывайтесь, чтобы не пропустить.

На этом все! В этой статье мы поделились 5 инструментами командной строки для запоминания команд Linux. Если вам известны другие подобные инструменты, напишите об этом в комментариях.


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

Кроме того, это не обязательно.

Время от времени мой ум полностью пуст, и я не мог вспомнить определенную команду.

Я продолжаю смотреть на Терминал и пытаюсь запомнить команду, но не могу.

Благодаря команде Apropos и истории BASH, которая помогает мне легко вспомнить забытые команды Linux.

Apropos описание

Он поставляется предустановленной в большинстве дистрибутивов Linux, и использование очень просто.

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

Давайте посмотрим, поможет ли нам помощь в этом отношении.

Образец вывода:


Команда apropos отображает список, если предлагаемые команды соответствуют строке поиска.

Как вы видите в примере, мы можем использовать команду «dir» для отображения содержимого каталога.

Я знаю, что легко запомнить команду «dir», но я использовал ее для демонстрации цели команды Apropos.

Вы можете использовать любую строку поиска.

Но несколько раз вам нужно быть более конкретным при использовании строк поиска.

Например, следующая команда отобразит все команды, содержащие слово «list».

В таких случаях, apropos не поможет вам найти то, что вы ищете.

Позвольте мне показать вам еще один пример.

Хотите найти Ядро, но вы забыли команду?

Вот как вы можете это найти.

В этом случае мы можем использовать команду «uname», чтобы узнать подробности ядра Linux.

Обратите внимание, что вы должны использовать кавычки, когда строка поиска содержит более одного слова.

Я забыл команду для доступа к моей удаленной системе?

Что делать? Не беспокойся! Используйте следующую команду, чтобы узнать, что это такое!

Помните, что команда Apropos отобразит все возможные команды, в которых есть строка поиска.

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

Для получения дополнительной информации см. Справочные страницы.

Как вспомнить длинные команды Linux

Хорошо, я забыл несколько длинных команд, которые я использовал несколько дней назад, как их запомнить?

Нет проблем. Я знаю несколько способов запомнить забытые команды Linux.

Сделайте быстрый обратный поиск, нажав «CTRL + R» и введите первые несколько букв команды, которую вы ищете.

Вы увидите список предлагаемых команд из истории bash.

Используйте клавиши со стрелками ВВЕРХ / ВНИЗ для навигации по командам.

Как только вы узнаете фактическую команду, нажмите клавишу TAB или стрелку вправо, чтобы выбрать эту команду, чтобы нажать клавишу ENTER.

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

Читайте также: