В дистрибутивы Linux входят man
(1) пользовательские команды;
(2) системные вызовы:
(3) стандартные библиотечные функции:
(8) системные/административные команды.
Числа обозначают номера разделов. Для доступа к страницам интерактивной документации применяется команда man
man имя
, где sleep
(находящаяся в первом разделе):% man sleep
А следующая команда вызывает страницу с описанием библиотечной функции sleep()
% man 3 sleep
Каждая man
whatis
имя отображает список всех man
-страниц (во всех разделах), связанных с указанным именем. Если не известно точно, описание какой команды или функции требуется, можно выполнить поиск по ключевому слову в строках резюме с помощью команды man -k ключевое_слово
.Страницы интерактивной документации содержат множество полезной информации и являются первым источником, к которому следует обращаться за помощью. В случае команды man
1.5.2. Система Info
Система Info содержит гораздо более подробную документацию ко многим базовым компонентам GNU/Linux, а также к ряду других программ. Информационные страницы представляют собой гипертекстовые документы, напоминающие Web-страницы. Для запуска текстовой версии справочной системы Info достаточно ввести info
Среди наиболее полезных документов перечислим следующие:
■ gcc
gcc
;■ libc
■ gdb
■ emacs
■ info
Можно сразу вызвать нужную страницу, задав ее имя в командной строке:
% info libs
Те, кто в основном работают в Emacs, могут вызвать встроенный модуль просмотра документов Info, набрав M-x info
C-h i
.1.5.3. Файлы заголовков
Много информации о системных функциях можно почерпнуть из системных файлов заголовков. Они находятся в каталогах /usr/include
/usr/include/sys
. Например, если компилятор сообщает об ошибке вызова системной функции, загляните в соответствующий файл заголовков и убедитесь, что реальный прототип функции соответствует описанному на man
-страннце.В Linux множество деталей функционирования системных вызовов отражено в файлах заголовков расположенных в каталогах /usr/include/bits
/usr/include/asm
и /usr/include/linux
. В частности, номера сигналов (механизм сигналов рассматривается в разделе 3.3, "Сигналы") определены в файле /usr/include/bits/signum.h
.1.5.4. Исходные тексты
Linux — система с открытым кодом, не так ли? Верховным судьей, определяющим, как работает система, является исходный код самой системы. К нашему счастью, он доступен бесплатно. В имеющийся дистрибутив Linux могут входить исходные тексты всей системы и всех установленных в ней программ. (Правда, они не всегда записываются на жесткий диск. Инструкции по инсталляции исходных текстов содержатся в документации дистрибутива.) Если это не так, у вас есть право запросить их на основании общей открытой GNU-лицензии.
Исходный код ядра Linux обычно хранится в каталоге /usr/src/linux
Глава 2
Написание качественных программ для среды GNU/Linux