我在阅读《linux系统编程》以及查看网上关于系统函数的博客时,老是看到诸如“详细使用请查看man手册”等等。作为linux菜鸟,刚使用linux时,我们都知道可以用man命令来查看linux命令的用法,但是却不知道怎么查看系统调用函数的用法。
方法是: man 2 read 或者是man 3 read。
中间的数字是什么意思呢?是man的分卷号,原来man分成很多部分,分别是:
1 用户命令, 可由任何人启动的。
2 系统调用, 即由内核提供的函数。
3 例程, 即库函数,比如标准C库libc。
4 设备, 即/dev目录下的特殊文件。
5 文件格式描述, 例如/etc/passwd。
6 游戏, 不用解释啦!
7 杂项, 例如宏命令包、惯例等。
8 系统管理员工具, 只能由root启动。
9 其他( Linux 特定的), 用来存放内核例行程序的文档。
n 新文档, 可能要移到更适合的领域。
o 老文档, 可能会在一段期限内保留。
l 本地文档, 与本特定系统有关的。
要查属于哪一部分的,就用哪一部分的编号在命令之前。
一般系统没有man命令,如果只安装man,就只能查看第一部分(命令),如
yum install man -y
如果要查看函数,也就是后面的部分,还需要安装man-pages
yum install man-pages -y
然后就可以使用man 2 read 查看系统调用read的用法。 而且,以前在使用man查看命令时,看到诸如 ioctl(2)这种表述,原来就算是指在man的卷2里查看。如果觉得英语看起来费劲,可以安装中文支持
yum install man-pages-zh-CN -y
然后再修改系统默认语言
LANG=zh_CN.UTF-8 #临时生效
然后,再查看就是中文了。但是,中文只是部分支持,有些命令和函数也没有中文。
由于系统命令read 和 系统调用read() 重名了,以前只安装了man命令时,输入 “man read” 显示的是命令read的用法,现在安装了man-pages之后,使用man 2 read 是查看系统调用read()的用法。
不过,这毕竟是少数情况,对于只有系统调用名称的,如fork(), 输入”man fork” 也是显示的系统调用fork()的用法。
当然,除了在系统上查看man手册,也可以从官网查看
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
暂无评论内容