man 3 ls
покажет вам только справочную страницу для ls
в разделе 3 руководства. Раздел 3 охватывает функции библиотеки; поскольку (вероятно) библиотечной функции с именем ls
, она ничего не найдет.
Команда man
без номера раздела ищет разделы в предопределенном порядке, который я не помню, но, вероятно, он будет близок к числовому порядку, начиная с 1. Таким образом, man ls
найдет man-страницу ls
в разделе 1, где описаны пользовательские команды.
Разделы (в моей системе Ubuntu):
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
Указание раздела может быть полезно для вещей, которые существуют с одним и тем же именем в нескольких разделах. Например, man printf
покажет вам страницу man для пользовательской команды printf
в разделе 1; чтобы увидеть страницу руководства для printf
, используйте man 3 printf
. Вы часто будете видеть эти справочные страницы, называемые printf(1)
и printf(3)
, соответственно.
Кража Заимствование из ответа Абернерта, обычно можно увидеть пользовательскую команду (раздел 1), которая является оберткой для системного вызова (раздел 2) или библиотечного вызова (раздел 3) с тем же именем; chown
и chmod
- хорошие примеры этого.