我想知道一些关于手册页和man实用程序的事情。
man似乎被实现为基本命令的管道,例如(过度简化):
zcat /path/to/man/page.3.gz | groff -man | less
但是,实现了一些逻辑:读取/etc/man.config、读取数据库索引、浏览 manpath 目录等。
1
所以我的第一个问题是:我在哪里可以找到 man 实用程序的源代码?我想存在不同的实现,所以我主要对 GNU 或 SYSV 系统感兴趣(我使用的是 Fedora)。
2
我的第二个问题是关于压缩实用程序和配置。手册页可以使用gzip. Gzipped 页面由man. 但是,xz压缩率似乎比gzip.
是否有一些man兼容的实现xz?man这是(https://linux.die.net/man/1/man)手册页的摘录:
如果文件名具有已知的压缩后缀(如 .gz),则 man 假定它是 gzip 压缩的。
这对我来说有点不清楚。从我的角度来看xz,它是一个“已知的压缩后缀”,但它与“人假设它是 gzip 压缩的”相矛盾,而且我找不到将xzandman一起使用的说法。
配置文件/etc/manpath.config允许定义一个不同的寻呼机,例如less. 所以我想知道我们是否可以以同样的方式定义一个不同的“拉链”来xz代替gzip.