大家在操作一些不太懂的命令时,都会用man来查阅一些命令的帮助信息。但大部分都是使用"man 命令名称"这样简单的格式。其实man还是有不少其他小技巧的。
0x01 具体范围定位
man命令后面可以加一个数字参数,表示具体的范围定位:
数字“1”表示用户命令
数字“2”表示系统调用
数字“3”表示C语言库函数
数字“4”表示设备或特殊文件
数字“5”表示文件格式和规则
数字“6”表示游戏及其他
数字“7”表示宏、包及其他杂项
数字“8”表示系统管理员相关的命令
当我们man write命令时,它可能代表了Linux里的用户命令或系统调用,如果我只是想了解write这个系统调用的作用,而对write命令的命令格式没有兴趣,那么我们就可以输入man 2 write来查看关于write系统调用的帮助信息了。
比如你输入man ls,你观察屏幕左上角会发现LS(1)的字样,这就说明这个ls是包含在“用户命令”之中的。
0x02 man信息存在哪
$ manpath /usr/local/share/man:/usr/share/man/overrides:/usr/share/man/en:/usr/share/man:/usr/man
用manpath命令就可以看到了,当你man的时候,man会到如上这些路径去寻找对应的帮助信息。如果没有的话,那么man会提示No manual entry for xxx
0x03 重新建立man的数据库
使用makewhatis命令就可以
0x04 搜索man数据中的关键词
既然有man数据库,我们就可以像搜索引擎那样搜出里面的关键字。
比如我要列出所有包含name字符串的man帮助信息,就可以用下面命令
$ man -k name
其实,还有一个命令和man -k是一样的用法,就是apropos。所以我们完全可以用apropos name来代替man -k name。
apropos其实是一个脚本文件,它不是ELF可执行文件。所以你完全可以用vi /usr/bin/apropos看看它到底是如何实现的。

2017年4月21日 下午3:05 沙发
您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.
2017年4月21日 下午3:51 1层
@电动螺旋压力机 感谢
2018年11月12日 上午11:42 板凳
感觉不错