3.1. Оперативные страницы руководства
Доступ к оперативным страницам руководства (man-страницам), дающим справку о системе, можно получить с помощью команды man
. Чтобы прочитать справочную страницу самой команды man
, введите в командной строке man man
. Оперативные страницы руководства обычно содержат справочную документацию, а не консультативную информацию, и славятся своей краткостью, из-за чего иногда возникают трудности в их понимании. Однако если вам понадобится справочный материал, они могут оказаться именно тем, что вам нужно.
Доступ к оперативным страницам руководства предоставляется тремя программами. Программа man
отображает отдельные оперативные страницы руководства, а команды apropos
и whatis
ищут ключевые слова в наборе оперативных страниц руководства. Команды apropos
и whatis
производят поиск в одной и той же базе данных; различие состоит в том, что whatis
отображает только строки, в точности соответствующие слову, которое вы ищете, a apropos
отображает любую строку, содержащую слово, которое вы ищете. К примеру, если вы ищете man
, apropos
отобразит manager
и manipulation
, в то время как whatis
отобразит лишь слово man
, отделенное от других букв пробелом либо знаком пунктуации, например, man.config
. Попробуйте запустить команды whatis man
и apropos man
, чтобы увидеть разницу.
Многие оперативные страницы руководства в Linux являются частью большого пакета, собранного процессором лингвистической информации (language data processor — LDP). А именно, страницы разделов 2 (системные вызовы), 3 (библиотеки), 4 (специальные файлы или файлы устройств) и 5 (форматы файлов) принадлежат в основном к коллекции оперативных страниц руководства LDP и являются наиболее полезными в программировании. Если необходимо выяснить, какой раздел следует просмотреть, укажите номер этого раздела перед названием оперативной страницы руководства, которую вы намереваетесь просмотреть.
Например, man man
предоставляет оперативную страницу руководства для команды man
из раздела 1; если вы хотите просмотреть спецификацию о написании оперативных страниц руководства, укажите раздел 7 — man 7 man
.
Во время просмотра оперативных страниц руководства помните, что многие системные вызовы и библиотечные функции имеют одинаковые имена. В большинстве случаев вам требуются сведения о библиотечных функциях, с которыми вы будете осуществлять компоновку, а не о системных вызовах, к которым периодически обращаются эти библиотечные функции. Для доступа к описанию библиотечных функций применяйте man 3 функция
, поскольку имена некоторых библиотечных функций совпадают с именами системных вызовов из раздела 2.
Также обратите особое внимание на то, что оперативные страницы руководства библиотеки поддерживаются отдельно от самой библиотеки С. Поскольку библиотека С обычно не меняет своего поведения, это не является проблемой. Все дистрибутивы Linux теперь используют библиотеку GNU С, которая рассматривается в главе 6. К библиотеке GNU С прилагается полная документация. Эта информация доступна в форме Texinfo.
3.2. Информационные страницы
В проекте GNU для представления документации был принят формат Texinfo. Документацию Texinfo можно распечатать (используя преобразование в ТЕХ) либо прочитать в онлайне (в формате "info", очень раннем гипертекстовом формате, предшествующем World Wide Web). В Linux существует множество программ для чтения информационной документации. Ниже приведен небольшой перечень.
• В редакторе Emacs есть режим чтения информации; наберите <ESC> X info
для входа в этот режим.
• Программы info
и pinfо
являются небольшими программами текстового режима для быстрого просмотра информационных страниц.
• Большинство программ системной документации (например, программы yelp
от GNOME и khelpcenter
от KDE) могут отображать информационные страницы. Мы рекомендуем эти инструменты, поскольку они предоставляют гипертекстовый интерфейс к информационным страницам, более знакомый всем, кто умеет использовать Web-браузер, чем интерфейс, предоставляемый Emacs, info
или pinfо
. (Эти инструменты также предлагают другую системную документацию, например, оперативные страницы руководства и документацию по системе, частью которой они являются.)
3.3. Прочая документация
Каталог /usr/share/doc
представляет собой всеохватывающее место для несобранной иными способами документации. Большинство пакетов, установленных в вашей системе, инсталлируют внутри каталога /usr/share/doc
файлы "README", документацию в разных форматах (включая простой текст, PostScript, PDF и HTML) и примеры. У каждого пакета имеется свой собственный каталог, носящий имя этого пакета и номер его версии.
Часть II
Инструментальные средства и среда разработки
Глава 4
Инструментальные средства разработки
Для работы в Linux доступно потрясающее разнообразие средств разработки. Любому программисту, работающему в Linux, нужно ознакомиться с некоторыми наиболее важными из них.
Дистрибутивы Linux включают в себя множество серьезных и проверенных средств разработки; большинство из этих средств на протяжении нескольких лет входили в системы разработки под Unix. Средства разработки Linux не отличаются ненужными излишествами и броскостью; большинство из них представляют собой инструменты командной строки без графического интерфейса пользователя. За все годы их применения эти средства зарекомендовали себя с самой лучшей стороны, и их изучение лишним не будет.
Если вы уже знакомы с Emacs, vi
, make
, gdb
, strace
и ltrace
, в этой главе ничего нового вы для себя не найдете. Тем не менее, в оставшейся части книги предполагаются хорошие знания какого-нибудь текстового редактора. Практически весь свободный исходный код Unix и Linux собирается при помощи make
, a gdb
— один из самых распространенных отладчиков, доступных для Linux и Unix. Утилита strace
(или подобная утилита под названием trace
либо truss
) доступна в большинстве систем Unix; утилита ltrace
была изначально написана для Linux и в большинстве систем недоступна (на момент написания книги).
Однако не стоит думать, что для Linux нет графических средств разработки; на самом деле, все как раз наоборот. Этих средств огромное количество.
На момент написания этой книги привлекали внимание две интегрированных среды разработки (Integrated Development Environment — IDE), которые могут входить в используемый вами дистрибутив: KDevelop (http://kdevelop.org/), часть среды рабочего стола KDE, и Eclipse (http://eclipse.org/), межплатформенная среда, основанная на Java, которая первоначально, была разработана IBM, а теперь поддерживается крупным консорциумом. Однако в этой книге мы не будем останавливаться на рассмотрении упомянутых сред, поскольку они сопровождаются детальной документацией.
Даже несмотря на то, что для работы в Linux доступны многочисленные IDE, они пользуются не такой популярностью, как на других платформах. Даже если среда IDE применяется, все же более практичным считается написание программного обеспечения с открытым исходным кодом без ее задействования. Все это делается для того, чтобы другие программисты, которые захотят сделать свой вклад в ваш проект, не были стеснены вашим выбором IDE. Среда KDevelop поможет собрать проект, который будет использовать стандартные инструменты Automake, Autoconf и Libtool, используемые в многочисленных проектах с открытым исходным кодом.