我经常发现自己在阅读手册页在线的而不是从我的系统上的命令行。部分原因是因为我发现在互联网上的浏览器上浏览这些信息比在命令行上更容易。
然而,这也意味着我经常最终从“通用”手册页(例如从http://linuxmanpages.com/),或者来自不同的发行版或工具版本,而不是来自我系统上实际的特定工具/版本。
所以我总是想知道我是否因为不阅读机器上安装的手册页而错过了一些东西。我认为对于最常用和稳定的工具(和参数)来说,差异可以忽略不计,但我想知道这在多大程度上是一个安全的假设。
进一步来说:
- 不同的发行版具有不同的手册页是否很常见?即使对于相同版本的工具由发行版提供?
- 哪些手册页在各个发行版之间差异最大?
答案1
有一些程序具有多种不同的实现,这些实现就其主要功能而言是兼容的,但在细节或扩展方面有所不同,并且可能具有独立编写的文档。发生这种情况时,您将在不同的系统上看到不同的手册页,因为这些程序在技术上是不同的。
Linux 上的一些例子是cron
(周围有几种实现)init
和朋友(SysVinit、Upstart 和 Systemd 之间有很多差异)、awk
(大多数 Linux 系统都有 GNU awk,但也有较小的 Mawk)、locate
(有 GNU定位,然后还有 mlocate 和 slocate),...
此外,某些程序具有通过编译选项选择的可选功能。通常,手册页是在编译时生成的,并且仅记录该特定编译中包含的选项。
例如,一些发行版将其手册页放在网上(这对于检查可移植性很有用)德班,苏塞,乌班图, … 链接应该位于发行版的标签 wiki 上Unix 堆栈交换(如果某个发行版有在线手册页,并且 wiki 中没有该链接,请添加它)。
答案2
给定软件的手册页通常由其作者编写。您系统上的工具将最适合您已安装的工具,因为它们将具有适合您的实现和版本级别的正确信息。
大多数情况下,差异并不显着,但最大的差异是 GNU、BSD 和 BusyBox 工具之间的差异。