一、man命令介绍
学习 window 或者 Android 的开发,都是学习开发文档,开发文档中提供了详细学习和编程资料。在 linux 下编程,用的最多的就是 man 命令,man 命令就类似 window 和 Android 下的开发文档,极其强大。
其实使用 man 命令可以很容易查到最权威的头文件,函数定义,函数参数,函数描述等等。
前面介绍 man 命令,只是针对 linux 命令简单的介绍了一下,本章给大家介绍如何使用man 命令查找资料,以及资料的结构。
二、man系统
先来学习一下 man 系统的信息,man 命令本身也是一个阅读文档的小程序,man 也是属于linux命令,那么使用man命令是可以查询linux命令的,根据慢查阅的语法就可以使用“man man”查找 man 相关的文档资料。
如下图所示,在 Ubuntu 系统下使用命令“man man”,来查阅一下 man 本身。

三、man的分页
通常情况下,UNIX 系统上的所有软件(包括每个命令行实用程序、每个系统调用、编程库中每个可调用的函数和每种文件格式)都包含一个手册页。实际上,在构建新软件时编写并提供手册页被认为是一种必要的 “礼节”。
在以前,手册页存储库曾经放在 /usr/man。最近,存储位置已经改为 /usr/share/man,但是具体位置因 UNIX 版本而异。另外,软件包经常把它的手册页放在自己的根目录的子目录中。例如,MySQL 数据库引擎的一些版本把手册页存储在 /usr/local/mysql/man 中。这些策略都是允许的,但是,如果手册页分散在许多存储库中,就需要一些额外的配置。
如下图所示,是打开 man 文档之后的截图,红色箭头指的 man 后面有个(1)

无论它的位置在哪里,每个存储库都划分为一个或多个部分。每个部分实现为一个独立的子目录。每个部分按惯例命名为 man1、man2 直到 man8,分别包含一类命令的手册页。

四、手册页框架
尽管各个命令的选项差异很大,但是手册页的内容相当有规律。实际上,手册页之所以是宝贵的参考资料,就是因为它们符合惯例。阅读一小段文字之后,您很快就能够跳到文档的正确部分,找到您要找的信息。
synopsis(大纲)简要描述如何使用这个软件。如果手册页的主题是命令,那么这个部分显示必需的和可选的选项、参数的格式和参数次序。如果主题是系统调用或库函数,那么这个部分显示函数的形式参数以及使用函数所需的头文件(如果有的话)。
命令大纲中使用的表示法是手册系统中有帮助的惯例之一(一些建模实用程序提供的使用方法提示借鉴了这种表示法)。这里的大纲的意思是,“输入 du;可选地输入 -H、-L 或 -P选项之一;然后,可选地输入 -a、-s 或 -d 之一,但是如果使用最后一个选项,还要指定一个深度(depth);指定 -c,也可以不指定;可选地输入 -h、-k、-m 或 -g 之一;指定 -x,也可以不指定;指定 -I 和一个掩码,也可以不指定;最后,提供一个或多个文件名。省略号 (...)表示多于一个。
五、Linux命令手册举例1
下面给大家看一下 sleep 命令,如下图所示,使用命令“man sleep”,先不带页。
如上图所示,可以看到 NAME,DESCRIPTION,AUTHOR。
NAME 中描述了函数名是 sheep,以及基本功能是延时一段时间
SYNOPSIS 描述了如何使用这个程序,sleep 后面加数字 number。
AUTHOR 是作者,也就是谁写的这个文档。
DESCRIPTION 是描述这个程序特性、使用方法以及可以使用的选项。

如上图所示,可以看到 REPORTING BUGS、COPYRIGHT、SEE ALSO
REPORTING BUGS 如果发现使用的时候发现了 BUG,可以怎么提交报告。
COPYRIGHT 版权,版权要遵循一系列的 GPL 协议,在后面驱动教程中会介绍 GPL 协议
SEE ALSO 参见,提供引用的相关资料。sleep(3)这个要注意,也就是说这个 sleep 在 C库页部分,可以使用“man 3 sleep”。
六、Linux命令手册举例2
接着看一下“man 3 sleep”命令,如下图所示。
如上图所示,有 NAME,SYNOPSIS,DESCRIPTION,RETURN VALUE,CONFORMING TO,BUGS 等。
可以看到地方 sleep 只能延时秒了,前面 sleep 命令是可以延时天和小时的。这里作为 c的库文件,介绍了头文件以及函数原型,返回值等等。

如上图所示,特别要注意上面的 SEE ALSO,它会介绍相关的函数,也就是在某些场合的应用有相关性的函数,这里有 alarm,nanosleep,signal,signal,因为这几个函数都可以实现延时功能,不过属于不同的方式。
另外 alarm(2),括号的 2 表示可以使用“man 2 sleep”查看它。
本文详细介绍了Linux中的man命令,它是类似开发文档的强大工具,用于查找函数定义、参数等。文章还讲解了man系统的使用、分页功能、手册页的结构,以及如何通过man命令查找不同类型的文档,如man1、man3等,以睡眠命令为例进行了实例演示。

1196

被折叠的 条评论
为什么被折叠?



