printf (1) - format and print data
printf (1p) - write formatted output
printf (3) - formatted output conversion
printf (3p) - print formatted output
printf [builtins] (1) - bash built-in commands, see bash(1)
How do I access overlapping man pages and what is the meaning of (1), (1p), (3), and so on?
All man pages are divided into sections. Usually, Linux or Unix-like operating systems has eight or nine sections. Each man page arise in only one section. The standard sections of the manual include (taken from my CentOS 6.x server):
- Section #1 : User Commands
- Section #2 : System Calls
- Section #3 : C Library Functions
- Section #4 : Devices and Special Files
- Section #5 : File Formats and Conventions
- Section #6 : Games et. Al.
- Section #7 : Miscellanea
- Section #8 : System Administration tools and Deamons
Many Linux distributions and other Unix variants customize the manual section to their specifics, which often include additional sections. For example, section #9 may include kernel internals and more.
What is the meaning of number in parentheses after the command?
It’s the section of the manual the man page is in. For example, useradd(8) means:
- useradd – Name of the command.
- 8 – The section (“System Administration tools and Deamons”) where the command is documented.
For example, ls(1) means:
- ls – Name of the command.
- 1 – The section (“user commands”) where the command is documented.
Syntax: Viewing man pages
There are manual pages by the same name in different sections, referring to different things. The syntax is:
man page-to-view man section page-to-view
To read printf(1) command manual that format and print data, enter:
$ man 1 printf
To read printf(3) programmers printf() manual, enter:
$ man 3 printf
Finding what function a command or API performs
Type the following to looks up a given command, system call, library function, or special file name, as specified by the command parameter:
whatis command whatis ls
ls (1) - list directory contents ls (1p) - list directory contents
The 1p and 3p refer to sections letters as follows (taken from my IBM AIX Unix server):
CSpecifies commands (including system management commands). FSpecifies file-type manual pages. LSpecifies library functions. nSpecifies new. lSpecifies local. oSpecifies old. pSpecifies public.