我知道这些命令将有助于获取命令的语法和选项,但我的问题是它们之间有何不同?
答案1
help
是 shell 中的内置命令bash
(仅限该 shell),记录了该 shell 的一些内置命令和关键字。这是该 shell 的内部文档系统。其他 shell 有自己的文档系统(ksh93
有内置的选项,--help
有一个运行帮助帮助程序,可以从其他格式的手册中提取信息)。其他命令有自己的嵌入式文档系统。--man
zsh
vim
man
是一个系统范围的文档系统,为各个命令、API 函数、概念、配置文件语法、按部分组织的文件格式(1 个用于用户命令,2 个用于系统调用...)提供简短的参考手册(页面)。这就是传统的 Unix 文档系统。
info
是另一个源自 GNU 项目的文档系统。它是带有链接的超文本(早于网络)。信息手册就像一本数字书,具有目录和(可搜索)索引的概念,有助于查找信息。
这 3 者之间存在重叠。例如,bash
作为 GNU 项目的一部分,既有手册页又有信息手册。手册的大小使得 man 系统不太适合bash
。然而,信息手册和索引的结构不是很好,bash
这使得查找信息info
不像其他手册那样容易zsh
。zsh
手册更大,分为几个手册页,并且还有一个很好的info
手册和非常好的索引。
应该注意的是,该info
手册的生成texinfo
格式也用于生成 HTML 和可打印 (PDF/PS) 版本。但在这种情况下zsh
,texinfo 是从另一种格式生成的 ( yodl
)。
答案2
help
是内置的,仅bash
提供命令帮助bash
man
是系统上几乎每个命令的传统帮助形式,不仅如此,有时配置文件也有自己的手册页。在按包组织的 Linux 发行版中,相关文本通常由提供命令的同一包提供。如果有的话,bash-completion
您可以利用TAB查看可用的手册页。
info
是一个提供命令手册页的替代系统,基于GNU emacs
.它主要为GNU
命令和实用程序提供。它似乎没有被其他人广泛采用。