linux下的man和info命令有啥不同?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下的man和info命令有啥不同?相关的知识,希望对你有一定的参考价值。

参考技术A

Man和info就像两个集合,它们有一个交集部分,但与man相比,info工具可显示更完整的最新的GNU工具信息。若man页包含的某个工具的概要信息在info中也有介绍,那么man页中会有“请参考info页更详细内容”的字样。通常情况下,man工具显示的非GNU工具的信息是唯一的,而info工具显示的非GNU工具的信息是man页内容的副本补充。

1、“man”

Man工具可以显示系统手册页中的内容,这些内容大多数都是对命令的解释信息。通过查看系统文档中的man页可以得到程序的更多相关主题信息和Linux的更多特性。man是非常实用的一种工具,当你在使用到某一个并不熟悉的命令时,man命令会显得非常有用。当需要了解某个工具更为详细的信息时,可以使用命令man后跟工具名的方法来实现。

2、“info”就内容来说,Info页面比man page编写得要更好、更容易理解,也更友好,但man page使用起来确实要更容易得多。一个man page只有一页,而Info页面几乎总是将它们的内容组织成多个区段(称为节点),每个区段也可能包含子区段(称为子节点)。

Linux深入探索02-文档查看:man与info

一、简介

Unix系统功能之庞大和复杂,以至于世界上没有一个人能够知道 Unix 的所有内容,即便是某一种特定类型的 Unix,甚至没有一个人能够知道 Unix 的大部分内容。据一些网站的不完全统计,Unix常用命令约有500个,不常用命令约7000个。所以一个人想要去掌握Unixt系统的所有命令不太现实,也没有这个必要。

因为,当我们需要使用一个我们不会或者不熟悉的命令时,我们只需要查看Unix的文档资料就行,当然你也可以百度或者goolge。但是,学会如何使用Unix提供的文档资料系统实在是太有用了,你会知道的。

这篇文档将着重介绍两个最重要的Unix文档资料系统:Unix联机手册(man,每个Unix系统都提供的一项功能)和Info(GNU项目的官方文档资料系统)。

二、Unix手册 man

Unix手册通常称为联机手册,或者直接称为手册,它是一个文件集,其中每个文件都包含一个具体Unix命令或者主题的相关文档资料。可以把Unix手册想象成一个存在于Unix系统中的庞大参考书。使用该手册你只需要输入一个简单的命令——man。

1、语法

man - an interface to the system reference manuals.

man [man options] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [man options] [section] term ...
man -f [whatis options] page ...
man -l [man options] file ...
man -w|-W [man options] page ...

最常用的方式是“man [需要查看的命令]”,如你可以这样查看man自身的手册“man man”。

扩展:
可以使用whatis命令代替man -f,使用apropos命令代替man -k

2、查看(分页程序)

由于Unix的很多手册都无法通过一屏全部展示(有的甚至几千行),所以man会使用一个分页程序,每次一屏地显示数据。

如我要查看ls命令的使用手册:

man ls

然后屏幕显示如下:

屏幕下方提示,你可以按H键去查看帮助,或者按Q键退出文本。

按H进去我还可以发现我系统的man命令使用的是less分页程序来查看手册,其实目前大多数Unix系统使用的都是它。

下图为查看手册时的一些常用命令,你也可以按H键去查看更加详细的说明。

3、man手册的格式

一个man手册一般包含如下几个部分:

标题 含义
Name 命令的名称和用途
Synopsis 命令语法
Description 完整描述(可能很长)
Environment 命令使用的环境变量
Author 作者
Files 对该命令相关文件的位置
See also 查看相关的信息的位置
Diagnostics 可能的错误和警告
Bugs 错误、缺点、警告

大部分情况我们都是只需要查看它的前3项。

4、man手册的8节内容

细心的人可能已经发现了,在使用man查看手册的时候,在手册的第一行会显示有(1)的字样,这表示该手册的第一节。

传统上,Unix将手册分为8节,编号从1至8,如下表:

章节号 说明
1 Standard commands (标准命令)
2 System calls (系统调用)
3 Library functions (库函数)
4 Special devices (设备说明)
5 File formats (文件格式)
6 Games and toys (游戏和娱乐)
7 Miscellaneous (杂项)
8 Administrative Commands (管理员命令)

使用命令“whatis intro”也可以查看上表的信息。

当man命令没有指定章节号时,系统会从第一节开始寻找,直到找到第一个匹配(大部分情况都是第1节)。手册中最重要的部分也是第一节,而且现在有很多命令并不提供其它章节的手册。

当想要查看指定章节的手册,只需要在man命令后面加上章节号就行,如:

man 8 shutdown

三、Info系统

相比于命令man来说,Info系统可是太复杂了,但我们并不需要了解Info的所有东西。对于Info来说,没有人知道(也不需要知道)所有事情,我们只需要学会info的一些常用操作就行。

Info系统是一个联机帮助系统,独立于Unix的man手册。当你刚开始使用info命令查看一个其他程序的说明时,你会发现显示的内容可能和使用man想看时差不多。但很快你就会发现,除此之处,再没有相似的地方了。

在使用info之前,你可以使用“man info”先查看一下它的说明。

1、Info的文件结构

Info使用一种叫作“”的数据结构来存储和检索Info文件。其实就是一种,对这种数据结构不了解的同学可以去网上找一下相关的资料看看,这里不作详细介绍。简化图如下:

2、使用 Info

当你想要查看某条命令的信息时,如想查看程序date的用法,命令如下:

info date

下图是在我机器上的运行结果。

或者你只是想浏览一下Info系统的目录,那你可以直接在命令行键入“info”即可,后面不加参数。

从上图最后一行可以看出,需要查看帮助的时候,我们可以按大写H键(按小写h则是查看info教程)。如下:

3、常用按键命令

上图展示的就是info查看文档时的一些按键功能,这里做一些常用的命令总结。

命令分类 命令 说明
通用命令: q 退出
H 查看帮助
h 查看info教程
阅读节点: 显示下一页(屏)
显示上一页(屏)
在节点中移动: b 跳到当前节点的开头
↑、↓、←、→ 将光标向上下左右移动
在同一个文件中从一个节点跳转到另一个节点: n 跳转到同一个文件中的下一个节点
p 跳转到同一个文件中的上一个节点
t 跳转到顶节点(Top Node,文件中的第一个节点)
从一个文件跳转到另一个文件: 将光标移动到下一个链接上
-、M- 将光标移动到下一个链接上
跳到链接指向的新节点或者新文件
l(L的小写) 跳转到上一个(刚刚查看的节点)节点
d 跳转到目录节点(主菜单)

不同Linux发行版本可能会与上表有些少出入,但大体不会相差多少。发现不一样的地方也可以按H键随时查看。

尽管Info系统非常复杂,但是我们最常用的命令也就“info [要查看的命令]”,然后查看文档时常用的按键也就几个。所以不用被它复杂的结构吓到,用久了就不觉得多神奇了。

参考:

书箱:《Unix & Linux 大学教程》第九章 (美)Harley Hahn 著 张杰良 译

以上是关于linux下的man和info命令有啥不同?的主要内容,如果未能解决你的问题,请参考以下文章

Linux-命令神器 man info 与 whatis

详解 Linux 帮助命令

linux之寻找男人的帮助,man和info,

Linux下的man命令

Linux深入探索02-文档查看:man与info

11. man page,info page