man
需要使用某个命令,却忘记了用法?代码写了一半,想不起某个系统调用的用法?很不幸,这种囧事几乎每天都有……
没事,Google 一下呗。
除此之外,还有更便捷的方式:运行 man
命令查看 手册页 ( Manual pages
)。手册页是 Linux/Unix
软件文档的一种常用形式,涵盖:命令、系统调用、库函数等方方面面。
以查看 socket
系统调用手册为例,命令行下运行:
fasion@ubuntu:~/lnp$ man socket
回车按下后,手册来了:
如上图,系统调用需要引入的 头文件 , 参数 类似及含义, 返回值 等等一目了然。
注意到, man
提供了 less
终端分页器,在文档较长时非常有用。按 j
往下滚动,按 k
往上滚动;按 <ctrl>-f
向下翻页,按 <ctrl>-b
向上翻页;按 gg
回到开头,按 G
跳到结尾处。vim
用户应该非常熟悉!
如果忘记了 man
命令的用法,还可以用 man
查自己的手册:
fasion@ubuntu:~/lnp$ man man
章节
Linux
下,手册通常分为 8
个章节( Section
),见表格-1:
章节 | 说明 |
---|---|
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖C标准函数库 |
4 | 特殊文件(通常是/dev中的设备文件)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
9 | 内核例程 |
不同的章节,可能有同名的手册。printf
就是一例,章节 1
提供 printf
命令的手册;章节 3
提供 printf
库函数的手册。这种情况下,如果直接运行 man printf
,显示的是命令 printf
的手册。对于 C
库函数,需要指定章节:
fasion@ubuntu:~/lnp$ man 3 printf