man и info
Выполняя ту или иную команду в bash-оболочке, мы запускаем какую-либо программу. Количество этих небольших программ-утилит в операционных системах на базе ядра Linux очень большое. В связи с этим невозможно запомнить весь перечень команд с их параметры. Поэтому каждая команда в Linux имеет описание в виде так называемых man-страниц. Man (в данном случае) – это сокращение от слова manual (руководство).Чтобы посмотреть документацию к той или иной программе (команде) необходимо в оболочке Linux написать man имя_команды. Например, если дать команду man sleep, то увидим справочную информацию по команде sleep.
Поскольку команда sleep весьма специфична, то имеет достаточно короткое описание. На самом деле большинство man-документов не умещаются в пределах экрана. Для их просмотра можно использовать следующие клавиши:
Стрелки вверх и вниз – построчная прокрутка;
Page_Up и Page_Down – постраничная прокрутка;
Home и End – перемещение в начало и конец документа.
Покинуть руководство позволяет клавиша Q.
Следует отметить, что все man-документы написаны на английском языке и лишь малая доля переведена (локализована). Выход тут один – учить английский.
Помимо man-страниц есть другая версия документации – это info-страницы. В отличие от первых они не являются строгой документацией, их легче понять начинающим пользователям Linux, могут содержать примеры и ссылки. Ниже представлен info-документ команды sleep (info sleep).
структура man-страниц
При первом взгляде на man-документ его бывает трудно понять, т.к. он не похож на простой текст-объяснение (он им и не является). Маны всегда строго структурированы и разбиты на разделы. Некоторые из разделов присутствуют обязательно, другие по необходимости:- NAME (ИМЯ) – команда и то, что она делает.
- SYNOPSIS (ОБЗОР) – синтаксис команды. Параметры без скобок являются обязательными, а в квадратных скобках – нет (обычно это ключи).
- DESCRIPTION (ОПИСАНИЕ) – подробное описание как использовать команду.
- OPTIONS (ОПЦИИ) – перечень возможных ключей и их описание.
- ...
как найти команду?
Может возникнуть ситуация, когда требуется выполнить какую-нибудь задачу, а как ее выполнить не знаешь. Всегда можно предположить, что такая задача возникала перед другими людьми ранее и, возможно, уже создана программа (утилита) решающая ее. Следовательно, в bash-оболочке Linux есть команда, позволяющая выполнить возникшую задачу. Но как найти эту команду? Может быть мы даже готовы почитать маны про эту команду, но не знаем и с какой буквы она начинается. Что делать? Книги и Интернет? Однако есть еще один вариант - это команда apropos. Она выводит на экран описание команд, содержащих слово, переданное ей в качестве аргумента. Допустим возникла потребность объединить пару файлов. Чтобы узнать какими способами это можно сделать, достаточно дать команду apropos объедин (окончание недописано, т.к. неизвесто как слово "объединение" используется в описании команды – может быть и "объединяет" и "объединяюся" ...).
И еще одно примечание: для поиска команд вместо аpropos можно использовать man с ключом -k (man -k строка) – будет тоже самое.
практическая работа
- Выясните, для чего предназначена команда cat. Используя данную команду, создайте два файла с данными, а затем объедините их в один.
- С помощью команды apropos найдите команду для удаления файлов. Прочитайте к ней man-документ. Удалите какой-нибудь файл.
- Дайте команду info bash. Прочитайте информацию о данном командном интерпретаторе. Если она на английском языке, переведите пару абзацев.