Linux 的 manpage 很强大,该手册分成很多 section,使用 man 时可以指定不同的 section 来浏览,各个section意义如下:

  • 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 e.g. /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]

这里简单翻译一下,

  • 1是普通的命令
  • 2是系统调用,如 open,write (通过这个,可以很方便地查到,调用这个函数需要添加什么头文件)
  • 3是库函数,如 printf,fread
  • 4是特殊文件,也就是 /dev 下的各种设备文件
  • 5是指文件的格式,比如 passwd, 就会说明这个文件中各个字段的含义
  • 6是给游戏留的,由各个游戏自己定义
  • 7是附件还有一些变量,比如向 environ 这种全局变量在这里就有说明
  • 8是系统管理用的命令,这些命令只能由 root 使用

例子:

$ man printf
PRINTF(1)		User Commands		PRINTF(1)

NAME
   printf - format and print data
......

也可以通过添加对应的 Section No 来获取对应 Section 的 manpage。

$ man 3 printf
PRINTF(3)		Linux Programmer's Manual		PRINTF(3)

NAME
   printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatted output conversio