47

In Linux, how do I get the man pages for C functions rather than shell commands?

For example, when I type man bind I get the manual page for the shell command bind and not the man page for socket binding C function.

George
  • 1,027
  • 3
  • 12
  • 20

2 Answers2

57
man 2 bind

You need a result from a different section of the manual! Man searches various sections for the information you want. As devnull lists below, the number indicates which section to search.

Incidentally, bind is a system call, not a C library function. System calls (kernel calls) are in section 2 of the manual, library functions are in section 3.

man man will tell you how to use the man command!

Joe
  • 7,378
  • 4
  • 37
  • 54
  • 10
    It might be worth clarifying that system calls are in the (2) section, and library functions in the (3) section. I.e. `man 3 printf` for printf(). – Emil H Sep 20 '13 at 15:36
  • I've been using Unix for over ten years and wasn't aware of this (always fell back to Internet searches). I would type something like man `sleep\(3\)` and give up! I think users would be more likely to reach their desired destination if the man pages read "SEE ALSO `man 3 sleep`". – mpr Mar 12 '19 at 14:59
42

Saying man man would tell you:

SYNOPSIS
   man ... [[section] page ...] ...
   The table below shows the section numbers of the manual followed by the
   types of pages they contain.

   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]

For example, man 1 printf would show the manual for the printf shell utility, while man 3 printf would show the manual for printf() in libc.

(When in doubt, say man -k foobar. It will provide a list of man pages with foobar as the regex.)

Rory O'Kane
  • 29,210
  • 11
  • 96
  • 131
devnull
  • 118,548
  • 33
  • 236
  • 227