Linux-查看C语言手册及man的特殊用法

man命令可以查看c语言库函数的函数原型, 比如

$ man malloc

如果显示 "No manual entry for malloc", 则需要安装 "man-pages"

sudo yum -y install man-pages

Linux 中的 man 就是 manual 的缩写, 用来查看系统中自带的各种参考手册, 但是手册页分为好几个部分,如下所示:(注:手册页, 很重要的, 一般我们也都没有用上,不过有时候, 你就会发现你用上了)

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

在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数, 若不加数字, 那Linux man命令默认从数字较小的手册中寻找相关命令和函数

例如:我们输入 man ls, 它会在最左上角显示“LS1)”, 在这里, “LS”表示手册名称, 而“(1)”表示该手册位于第一节章, 同样, 我们输入“man ifconfig”它会在最左上角显示“IFCONFIG8)”, 也可以这样输入命令:“man [章节号] 手册名称”

man是按照手册的章节号的顺序进行搜索的, 比如:man sleep, 只会显示sleep命令的手册, 如果想查看库函数sleep, 就要输入:man 3 sleep

man -f command 显示man程序的所有手册 例如:

  man -f kill  man n command 显示指定章节的手册 

  man -a command 显示所有章节的手册 

  man -w command 显示手册所在的路径 

  man -aw command 结合-a参数显示所有章节的手册路径

手册页一般由以下几部分组成:
NAME 命令名称   SYNOPSIS 命令的语法格式   DESCRIPTION 对命令功能的描述  
OPEIONS 说明该命令所提供的选项和参数    EXAMPLES 对命令如何使用给出的例子 FILES 该手册页的默认位置
AUTHOR 该软件的作者   REPORTING BUGS 告诉用户将他们发现的BUGS通过邮件发送给开发者    COPYRIGHT 版权信息
SEEALSO 与该程序有关的其他程序

如:若是以mkdir为例的话, 第一行中出现的MKDIR(1)表示该命令属于Section 1, 为用户命令, 类似的man apt-get会看到APT-GET(8), 表示apt-get命令为系统管理工具

man程序是基于less命令的因此less程序的操作命令都可以在man pages中使用

原文地址:https://www.cnblogs.com/JohnABC/p/4613889.html