很多开发者应该都会使用到linux,关于linux的的一些常用命令可能也都比较熟悉,比如which,git等。我们可能不会关注还有which(1),git(1)这种的写法。
最近看一个英文的书籍,发现文中有which(1)这样的写法,是要实现which(1)的功能,当时就感觉很奇怪,写实现which的功能不就行了吗?为什么还要加个数字1呢!
后面查询了相关资料才发现这个数字1是有含义的,不是随随便便使用的。
- 1表示用户名命令(user commands),包含大多数用户可在命令行中执行的命令。如ls,git,cp等
- 2表示系统调用(system calls),包含程序通过操作系统执行的系统调用。如文件操作,进程控制等
- 3.表示库函数(library functions),包含C语言库中的函数。与系统调用不同,库函数是为了简化编程而提供的接口。如printf(),malloc()等
- 4.表示特殊文件(special files),包含设备文件和一些特殊的文件系统信息。这部分通常设计如何与设备交互
- 5.表示文件格式和约定(file formats and conventions),包含特定文件格式的说明和约定。如配置文件的格式,邮件文件格式等
- 6.游戏(games),包含在unix系统中可以玩的简单游戏
- 7.杂项(miscellaneous),包含不属于其他部分的各种信息。如关于协议、标准或数据格式的信息
- 8.管理命令(system administration commands),包含系统管理员使用的命令。通常设计系统维护、网络配置等。如service,systemctl等
下面是例子
man 1 git:查看git用户命令的手册 man 2 open:查看open系统调用的手册 man 3 printf:查看c标准库中printf函数的手册 man 5 passwd:查看密码文件的格式说明
并不是所有的命令都支持上述的8个数字哦,一般都会支持1这个数字的,也就是用户命令,也可以认为是命令的使用说明吧。比如git是没有2的,执行下man 2 git
看下结果
man 2 git 在第 2 节中没有关于 git 的手册页条目。 当没有手册页时,可以用 man 7 undocumented 命令来寻求帮助。
可以看到说了没有关于git的手册条目的