Команда info в linux

Обновлено: 05.07.2024

Подробно объясните команды справки Linux-help, --help, man, info

оглавление

  • Введение в команды справки Linux
  • команда help и параметр --help
  • команда человека
  • информационная команда

1. Введение в команды справки Linux

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

Есть некоторые команды, которые нам нужно часто использовать в нашей повседневной работе. Даже если мы не запоминаем команды преднамеренно, они будут впечатлены практикой, доведенной до совершенства. Но как насчет незнакомых команд или незнакомых параметров знакомых команд?

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

Команды справки Linux в основном включают три:

  1. команда help и параметр --help
  2. команда человека
  3. информационная команда

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

Два, команда справки и параметр --help

2.1 команда помощи

Команда help может распечатать справочную информацию по нужной нам команде на консоли. Использование:

Например, если мы хотим просмотреть команды справки команд cd и mv, мы можем получить следующий вывод при использовании команды справки в приведенной выше форме:

 cd

 mv

Почему такая разница? Почему я не могу просмотреть справочную информацию о команде mv? Необходимо ввести "Встроенные команды"с участием"Внешняя команда"Концепция чего-либо

2.2 Встроенные команды и внешние команды

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

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

Используйте команду type, чтобы проверить, является ли команда встроенной или внешней командой.

Например, упомянутые выше команды cd и mv, давайте посмотрим, к какому типу команды они относятся.

cd

mv


Из приведенной выше информации мы обнаруживаем, что команда cd является встроенной командой, а команда mv - внешней командой. После многих попыток можно обнаружить, что команду справки в приведенной выше форме можно использовать только для запроса справочной информации встроенных команд.

Мы можем попробовать просмотреть справочный документ самой команды справки

 help

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

2.3-параметр помощи

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

** Следует отметить, что эти две формы помощи не полностью эквивалентны. ** Первый предназначен для просмотра справочного документа, выполнив встроенную команду справки, а второй - для отображения справочного документа команды запроса путем переноса справки по параметру после команды. Мы могли бы также попытаться запросить справочную документацию по внешней команде mv:

mv --help

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

Три, команда человека

3.1 Справочная информация, предоставленная человеком

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

Например, мы хотим просмотреть справочную информацию по команде mv

man mv

На странице руководства представлена ​​информация о «имени», «сводке» и «введении» команды mv, а другая информация, такая как «информация об авторе» и «еще», не показана на рисунке. В частности:

название смысл
NAME Название команды и краткое описание
SYNOPSIS Сводка синтаксиса выполнения команды
DESCRIPTION Полное описание команды
OPTIONS Список всех доступных элементов параметров
COMMANDS Когда команда выполняется, команда, которая может быть выполнена в программе
FILES Некоторые файлы, на которые ссылается или связывает эта команда
SEE ALSO Другие примечания об этой команде
EXAMPLE Некоторые примеры, к которым вы можете обратиться
BUGS Есть ли связанные ошибки

Мы заметили, что в первой строке стоит «MV (1)». Что означает число в скобках? Фактически это классификация запрошенной информации.

цифровой Представление
1 Стандартные команды или исполняемые файлы, с которыми пользователи могут работать в среде оболочки
2 Функции и инструменты, вызываемые ядром системы
3 Часто используемые библиотечные функции
4 Файлы оборудования и описания оборудования и т. Д.
5 Файл конфигурации или формат файла
6 Игры и другие развлечения
7 Информация о соглашении и т. Д.
8 Команды управления доступны системным администраторам
9 Документы, относящиеся к ядру Linux

3.2 Основные операции на странице руководства

Самым большим преимуществом команды man перед командой help является то, что пользователь может выполнять такие операции, как перелистывание страниц и поиск на странице руководства посредством ключевого взаимодействия. Общие ключевые операции показаны ниже.

кнопка Характеристики
пробел Перевернуть страницу
/str Искать строку str в обратном направлении
?str С нетерпением жду строки str
n, N n - следующая найденная строка, N - предыдущая найденная строка
q Выйти из справочной страницы

В-четвертых, информационная команда

4.1 Справочная информация, предоставленная info

Функция команды info в основном аналогична функции команды man, которая может отображать соответствующую информацию и информацию о команде.

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

Взяв в качестве примера информацию о команде, мы вошли на страницу с информацией о команде.

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

 info page

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

 info page

Третий уровень: узел каталога второго уровня: отображает подробное содержимое в каталоге второго уровня.

 info page

4.2 Основные операции на информационной странице

Информационная страница предоставляет интерактивные операции, такие как перелистывание страниц, переход по узлу и поиск.

кнопка Характеристики
пробел Листать вниз
Введите ключ Перейти к следующему узлу
P Перейти к предыдущему узлу
U Вернуться к предыдущему узлу
Введите ключ Переместите курсор к узлу следующего слоя и нажмите Enter, чтобы войти.
B Перейти к первому узлу текущей информационной страницы
E Перейти к последнему узлу текущей информационной страницы
/ Искать на информационной странице
Q Закрыть информационную страницу

Мой официальный аккаунт: всесторонний программист

Мои знания: разносторонний программист

Приветствуем ваше внимание и общение

Если вы считаете, что эта статья полезна для вас, не стесняйтесь, она понравится

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

3.6.1. Источники справочной информации

Если вы окажетесь в ситуации, когда не знаете, что предпринять или сделать для достижения желаемой цели, лучше всего начать искать подсказку в самой системе. Дистрибутив Red Hat Linux содержит тысячи страниц документации, представленной в электронном виде, так что ответы на все возникающие вопросы у вас, что называется, "на кончиках пальцев". Существует несколько независимых источников, которые содержат информацию почти по любому аспекту работы в системе Linux:

  • страницы интерактивного руководства man ;
  • гипертекстовое руководство info ;
  • документация, прилагаемая к пакетам ПО;
  • текстовые файлы HOWTO и FAQ проекта Linux Documentation Project;
  • команда locate .

Необходимо сразу сказать, что большую часть информации из этих источников вы будете получать на английском языке. Только для русифицированных дистрибутивов часть страниц интерактивного руководства man выдается на русском языке. Можно дополнительно скачать из Интернета имеющиеся там страницы руководства man , переведенные на русский язык [П5.1], и разместить их в соответствующих каталогах. Но все равно, на русский переведено далеко не все. Учитывая это замечание, рассмотрим каждый из перечисленных выше источников информации подробнее.

Таблица 3.4. Основные секции интерактивного руководства man

Библиотечные вызовы (подпрограммы)

Ядро (kernel internals)

Порядок перечисления секций в этой таблице не случаен. Дело в том, что файлы с информацией расположены в подкаталогах каталога /usr/man и команда man ищет нужную информацию, просматривая эти подкаталоги именно в том порядке, который приведен табл. 3.4. Если вы, например, дадите команду

[user]$ man swapon

то получите справку о команде swapon из секции 8. Поэтому если вы хотите получить справку по системному вызову swapon , надо дать команду

[user]$ man 2 swapon

указывая номер секции, в которой надо искать информацию.

Таблица 3. 5 . Клавиатурные команды, используемые при просмотре man- страниц

Выход из программы

Просмотр строка за строкой

Вывод следующего экрана информации

Вернуться к предыдущему экрану

</> за которой следует строка символов и <Enter>

Поиск введенной строки символов

Повторение предыдущего поиска.

Если вы предпочитаете читать текст не с экрана, а с отпечатанной копии, то можете отпечатать соответствующую страницу, воспользовавшись командой

[user]$ man имя_команды | lpr

или, если у вас postscript-принтер,

[user]$ man -t имя_команды | lpr

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

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

3.6.3. Команда info

Команда info является некоторой альтернативой команде man . Для получения информации по отдельной команде надо задать в командной строке info с параметром, являющимся именем интересующей вас команды, например,

Информация, которую вы увидите, в большинстве случаев несколько отличается от той, которую дает команда man , причем, по моему мнению, в лучшую сторону. Но самое существенное отличие заключается в том, что выдаваемая info информация представлена в гипертекстовом формате. В силу этого вы получаете возможность просматривать различные разделы помощи, не выходя из оболочки, предоставляемой командой info . Работая в тестовом режиме, вы можете запустить info в одной из альтернативных консолей (помните: <Ctrl >+< Alt >+< F2>, <Ctrl >+< Alt >+< F3> и т. д.), и переключаться за помощью в случае необходимости. В тех случаях, когда вы не знаете, где именно найти нужную информацию, может оказаться полезным побродить по разным разделам текста с помощью гипертекстовых ссылок, предоставляемых командой info . Эти ссылки обозначены символом звездочки ( * ), что несколько отличается от способа обозначения гипертекстовых ссылок в широко распространенных браузерах типа Internet Explorer или Netscape Navigator, но от этого не становится менее удобным. Перемещаться по ссылкам можно также с помощью клавиши <Tab>. Достигнув названия нужной темы, нажмите клавишу <Enter>. Нажатие клавиши <P> возвращает вас к предыдущей странице, < N > вызывает переход на следующую страницу, а < U > переводит на один уровень вверх по иерархической структуре страниц документации.

Кроме того, можно вызвать переход по ссылке другим способом, аналогичным системе меню. Для этого надо нажать клавишу <M> и набрать в появившейся внизу экрана строке ввода некоторое число начальных символов названия нужного вам раздела помощи (из числа названий, представленных на отображаемой в данный момент на экране странице, причем даже если не вся страница помещается на экране). Число символов должно быть достаточным для однозначного определения раздела помощи (если недостаточно, то программа попросит дополнить название). Выход из программы — по клавише < Q >.

3.6.4. Команда help

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

3.6.5. Документация, поставляемая с дистрибутивом и пакетами ПО

Если в процессе установки системы вы не отказались от установки документации, то после завершения процедур инсталляции в каталоге /usr/doc/ (или /usr/share/doc) вы найдете подкаталоги HOWTO, FAQ, HTML и LDP, содержащие обширнейшую документацию по системе Linux в целом и отдельных аспектах ее применения. Большая часть этой документации представляет собой обычные текстовые ASCII-файлы, которые можно просматривать по командам more filename или less filename , а также с помощью встроенной программы просмотра, включенной в оболочку Midnight Commander. Просмотр этих файлов был для меня основным источником получения информации при освоении Linux (а, значит, и при подготовке данной книги). Начните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске). Особенно стоит обратить внимание на главы Package Management with RPM и System Administration. Также полезно прочесть cодержимое /usr/doc/initscripts-x.xx. К сожалению, большая часть этой документации написана на английском языке, но я надеюсь, что со временем с русифицированными дистрибутивами эта документация будет поставляться на русском.

Большинство пакетов программного обеспечения поставляются разработчиками с обширной документацией по установке и использованию этих пакетов. Если пакет представлен в формате rpm (а дистрибутивы Red Hat Linux и его клонов типа Black Cat поставляются в этом формате), то эта документация будет развернута в соответствующих подкаталогах каталога /usr/doc. Имена этих подкаталогов соответствуют названию пакета и версии ПО. Например, для графической оболочки KDE версии 1.1.1 создается подкаталог KDE-1.1.1.

Иногда в поиске нужного файла документации может помочь команда locate . Команда locate в некотором смысле аналогична командам whatis и apropos . По этой команде производится поиск всех файлов, имена которых содержат заданный шаблон. Например, по команде locate net будет найдена масса имен файлов, в названиях которых встречается подстрока "net". В шаблоне могут применяться метасимволы *, ? , [] . Однако команда locate производит поиск не по каталогам файловой системы, а в специально созданной базе имен файлов, которую надо вначале создать (и иногда обновлять) командой updatedb .

В некоторых дистрибутивах (например, в ALTLinux) вместо locate имеется команда slocate , которая сама создает для себя базу имен файлов (после запуска с соответствующим параметром) .

3.6.6. Команда Xman

В 6-ой версии дистрибутива Red Hat Linux была включена программа, которая позволяет просмотреть страницы руководства man при работе в графическом режиме. Поиск и вывод на экран страниц руководства вызывается посредством щелчков по кнопкам и меню. В остальном (по выдаваемой информации) Xman аналогична команде man .

3.6.7. Команда helptool

По команде helptool появляется графическое окно, имеющее строку ввода, в которой вы сможете задать интересующий вас термин. Команда просматривает все файлы документов (вы можете сконфигурировать, какие документы следует просматривать при поиске). По завершению поиска вам будет выдан список файлов, где встречается данный термин. Если кликнуть мышкой на элементе списка, то появится дополнительное окно, в котором будет отображаться выбранный вами файл. При этом файл будет отображаться в том формате, в котором он хранится на вашей машине: страницы info , страницы man и др.

3.6.8. Книги и Интернет

Естественно, что осваивать Linux проще и легче, если под рукой имеется хорошая книга. Прежде всего почитайте руководство к своему дистрибутиву (если таковое есть). Несколько наиболее полезных, на мой взгляд, книг указаны в Приложении "Источники и ссылки на дополнительные материалы". И, конечно, если у вас есть выход в Интернет, то вы можете найти ответ на любой из возникающих вопросов. Просмотрите Приложение [П2] для того, чтобы выбрать начальные точки путешествия по этому безбрежному океану информации. А дальше . остается пожелать вам удачи в ваших поисках.

Если проблемы возникают еще при установке, можно обратиться в службу поддержки производителя дистрибутива (если дистрибутив не пиратский, на нем как правило указываются координаты этой службы), на которую можно выйти через Web -сайт производителя. Учтите, что в случае, если у вас пиратский дистрибутив, причина проблем может быть в том, что он "криво" записан на компакт-диск.

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

Вместе с дистрибутивами GNU/Linux устанавливается большое число консольных утилит, выполняемых в Bash-оболочке. Кроме того, множество программ потом устанавливает сам пользователь. В связи с этим невозможно запомнить весь перечень команд с их параметрами. Поэтому для каждой программы должна иметься страница документации, так называемая man-страница. Здесь man – это сокращение от слова manual (руководство, пособие).

Доступ к этим страницам осуществляется с помощью одноименной программы man. В качестве аргумента ей передается имя команды, информацию о которой мы хотим получить. Например, man date или man cat .

NAME. Имя команды, и кратко что она делает.

SYNOPSIS. Варианты синтаксиса, т. е. способов записи, команды. Параметры без скобок являются обязательными. В квадратных скобках – необязательными (опциональными).

DESCRIPTION. Подробное описание программы и ее ключей.

AUTHOR. Разработчик программы.

REPORTING BUGS. Куда сообщать об ошибках.

COPYRIGHT. Авторские права на программу, лицензия, под которой она распространяется.

SEE ALSO. Дополнительная информация.

Данные разделы стандартны и характерны для всех man-страниц.

Обратите внимание, в первой строке мана пишется имя программы и в скобках ставится число. Так в примере выше написано SLEEP(1). Число обозначает раздел, к которому относится данная страница документации Linux. Пользовательские утилиты относятся к разделу под номером 1.

Если посмотреть документацию к программе apt-get, с помощью которой во многих дистрибутивах Linux устанавливается ПО, то там будет стоять число 8. К восьмому разделу относятся программы администрирования системы, то есть выполняемые с правами суперпользователя (root'а).

Большинство man-страниц достаточно длинные и не помещаются на одном экране. Поэтому пользуются горячими клавишами навигации по документации:

Стрелки вверх и вниз для построчной проктуртки.

Клавиши Page Up и Page Down для постраничной прокрутки.

Home и End перемещают в начало или конец страницы.

Нажатие q приводит к закрытию страницы документации.

Есть и другие клавиши управления.

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

Документация Info

Info-руководство – другой вариант документации команд Linux. Описание команд в info менее формализировано и поэтому зачастую более понятно.

Команда вида info имя_программы откроет ту часть info-документации, где начинается описание указанной программы.

На скрине info-страница для утилиты yes.

Info-руководство – по-сути один большой гипертекстовый сборник, в котором можно перемещаться по ссылкам. Для этого надо установить курсор в подчеркнутую фразу, начинающейся с *, и нажать Enter.

С помощью клавиши u можно подняться на самый верхний уровень info-документации Linux. Клавиши n и p перемещают вниз и вверх от статьи к статье. На изображении ниже показано начало самого верхнего уровня иерархии страниц info.

Опция --help

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

Команда apropos

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

Допустим нам надо проверить, есть ли каком-то файле повторяющиеся строки. По английски "повторять, повторение" – repeat. Следовательно, команда поиска подходящей программы будет выглядеть так: apropos repeat .

Нашлось четыре программы, из которых очевидно нам подходит uniq. Получив по ней справку, выясняем, что ключ -d позволяет выводить только повторяющиеся строки.

Примечание. Аналогично apropos'у работает утилита man с ключом -k.

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

Команда Linux в общем случае представлена либо исполняемым файлом, либо встроенной функцией командной оболочки. Например, cd, ls, echo и firefox являются командами. Действия, выполняемые в результате исполнения большинства этих команд, полностью описываются в рамках командной строки за исключением последней команды firefox. Более сложные команды сразу же после запуска взаимодействуют с пользователем в интерактивном режиме и называются приложениями. Многие, но не все приложения осуществляют интерактивное взаимодействие с пользователем посредством графического интерфейса или GUI.

Общая информация о командах

Чаще всего при вызове команд будет использоваться сложный набор аргументов:

В данном случае «-l /bin» является парой аргументов (отделенных друг от друга, а также от самой команды с помощью символов пробелов), причем «-l» является аргументом, который изменяет поведение команды ls (данный аргумент позволяет команде выводить подробный листинг содержимого директории), а «/bin» - просто указывает директорию, с которой должна работать команда ls.

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

Да, это две команды в одной строке. Вы также можете разделить одну длинную команду на несколько строк, экранировав символ переноса строки с помощью символа обратного слэша.

Еще один способ запуска последовательности команд заключается в использовании механизма условного запуска, активируемого в командной оболочке Bash с помощью последовательности символов «&&» и позволяющего исполнить вторую команду лишь в том случае, если первая команда вернет код завершения 0 (то есть, завершится успешно).

При использовании обычного разделителя команд («;») даже в случае некорректной смены текущей директории с помощью первой команды, вторая команда ls будет вызвана и просто выведет список файлов из текущей рабочей директории. Ну а при использовании оператора для условного запуска команд («&&») команда ls не будет вызываться в случае некорректного завершения работы команды cd.

По аналогии оператор «||» позволяет выполнить вторую команду только в том случае, если первая команда вернула ненулевой код завершения (то есть, завершилась некорректно).

Получение информации о командах из локальной документации

Система Linux должна содержать документацию в формате страниц руководства (man-страниц) и, возможно, информационных страниц (info-страниц). Если вы знаете имя команды, о которой необходимо получить информацию, команда

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

для поиска соответствующих команд.

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

позволит получить информацию об интересующей вас утилите.

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

Также дополнительные файлы с документацией на английском языке могут располагаться в таких директориях, как «/usr/doc», «/usr/local/doc» и «/usr/src/linux/Documentation» (документация ядра Linux) и некоторых других.

Доступ к информации

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

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

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