help、info 和 man 命令之间的区别

Rup*_*war 51 man documentation info

我知道这些命令将有助于获取命令的语法和选项,但我的问题是它们之间有何不同?

Sté*_*las 51

helpbash外壳程序(仅限该外壳程序)中的内置命令,它记录了该外壳程序的一些内置命令和关键字。那是该外壳的内部文档系统。其他 shell 有自己的文档系统(它的内置函数ksh93--help--man选项,zsh有一个运行帮助帮助程序,可以从其他格式的手册中提取信息)。其他命令如vim拥有自己的嵌入式文档系统。

man是一个系统范围的文档系统,为单个命令、API 函数、概念、配置文件语法、按部分组织的文件格式(1 个用于用户命令,2 个用于系统调用...)提供简短的参考手册(页面)。这就是传统的 Unix 文档系统。

info是另一个起源于 GNU 项目的文档系统。它是带有链接的超文本(早于网络)。信息手册就像一本数字书籍,具有目录和(可搜索)索引的概念,有助于定位信息。

3 之间存在重叠。例如,bash作为 GNU 项目的一部分,既有手册页又有信息手册。手册的大小使 man 系统不适合bash不过。但是,信息手册和索引的结构不是很好,bash这使得查看信息不像在其他info手册中那样容易zshzsh更大的手册被分成几个手册页,并且还有一个很好的info手册和一个很好的索引。

应该注意的是,info手册是根据一种texinfo格式生成的,该格式也用于生成 HTML 和可打印 (PDF/PS) 版本。在这种情况下zsh,texinfo 是从另一种格式 ( yodl)生成的。

  • 这是最好的答案,恭喜。考虑到问题的一般性质,接受的方法过于简洁而无用。 (2认同)
  • @DeNovo,是的,因为“help”是“bash”的内置函数。更有用:`info bash help`。 (2认同)

enz*_*tib 29

help是一个bash内置的,bash只为命令提供帮助

man是系统上几乎每个命令的传统帮助形式,不仅如此,有时配置文件也有自己的手册页。在按包组织的 Linux 发行版中,相关文本通常由提供命令的同一个包提供。如果您有,bash-completion您可以利用 fromTAB查看可用的手册页。

info是一个替代系统,为命令提供手册页,基于GNU emacs. 它主要用于GNU命令和实用程序。它似乎没有被其他人广泛采用。


Ign*_*ams 21

help是一个 bash 命令。它使用内部 bash 结构来存储和检索有关 bash 命令的信息。

mantroff(通过 groff)处理器的宏集。man默认情况下,该命令将处理单个文件的输出发送到寻呼机。

infoTexinfo信息格式输出档案的纯文本查看器。

  • 这解释得很少。 (10认同)
  • man 不仅仅是“troff 处理器的宏集”。-1 对于这个答案。 (7认同)