Linux的man很强大,该手册分成很多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 eg /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使用,如ifconfig
想要指定section就直接在man的后面加上数字,比如 :
man 1 ls
man 3 printf
对于像open,kill这种既有命令,又有系统调用的来说,man open则显示的是open(1),也就是从最前面的section开始,如果想查看open系统调用的话,就得man 2 open
通过关键字搜索man手册
apropos keywords
man -k keywords
查询man文档位置
whereis man 查询man的文档位置
查看当前man的文档目录
manpath
将man的结果保存在文件内
man bash | col -b > bash.txt
col是用来对文本进行转换的命令,这里是去掉所有的退格符号
查看某个section中包含的内容:
locate /man5/|sed -r 's#.*/([^/]+).7.gz$#\1#'