man¶
需要使用某个命令,却忘记了用法? 代码写了一半,想不起某个系统调用的用法? 很不幸,这种囧事几乎每天都有……
没事,Google 一下呗。
除此之外,还有更便捷的方式:运行 man 命令查看 手册页 ( Manual pages )。
手册页是 Linux/Unix 软件文档的一种常用形式,涵盖:命令、系统调用、库函数等方方面面。
以查看 socket 系统调用手册为例,命令行下运行:
1 | fasion@ubuntu:~/lnp$ man socket
|
回车按下后,手册来了:
如上图,系统调用需要引入的 头文件 , 参数 类似及含义, 返回值 等等一目了然。
注意到, man 提供了 less 终端分页器,在文档较长时非常有用。
按 j 往下滚动,按 k 往上滚动;
按 <ctrl>-f 向下翻页,按 <ctrl>-b 向上翻页;
按 gg 回到开头,按 G 跳到结尾处。
vim 用户应该非常熟悉!
如果忘记了 man 命令的用法,还可以用 man 查自己的手册:
1 | 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 库函数,需要指定章节:
1 | fasion@ubuntu:~/lnp$ man 3 printf
|
