weixin

gnu里的man和info命令,如何转成html

日期: October 17, 2019 作者:网站维护

比如运行 man wget,显示的是man格式关于wget帮助文档,man命令主要是方便用户在使用时查询。

info wget 显示的是info格式的完整文档,相当于一本书了,类似教程,详细介绍软件是做什么的,如何使用。相比于man,info出来的内容更适合入门学习使用的。

gnu的官方网站上软件的使用教程是info文档转成html的。所以直接看info就可以了。

我想把man和info出来的内容转换成html看。

man

man格式是用troff排版系统写的,各个软件的man文件在/usr/share/man/目录下,比如wget在它下面的./man1/wget.1.gz

想转成html网页用浏览器看,因为gz是压缩过的,使用zcat解压:

zcat /usr/share/man/man1/wget.1.gz | groff -mandoc -Thtml >man_wget.html

info

info格式是texinfo排版系统写的,各个软件的info文件在/usr/share/info/目录,比如wget在./wget.info.gz,和man不一样,info是texi文件编译后的结果,不知道有没有转换info文件的工具。

运行info texinfo查看texinfo的文档可以发现,最初info文档最初是texi格式书写的,然后使用texinfo系统的texi2any工具可以转换成各种类型格式的文档,比如info html pdf之类的东西。

需要找到wget的texi格式的文档,然后转换成html。texi文档可以在wget的源码包里找到。通常用的系统没有源码。可以到gnu的网站或者镜像站点下载源码。

或者用包管理工具apt下载源码,前提是软件源sourcelist里有deb-src的地址,因为通常用不到有的是被注释了,就需要取消一下注释。取消注释后 apt update 更新一下软件源,然后安装。

先查找运行的程序属于哪个源码包,比如cp程序在coreutils源码包里,wget就在wget包里。
dpkg -S `which wget`
显示属于 wget 源码包,就下载wget源码包
apt -d source "wget"

这个时候源码包就下载到当前目录了。解压之后的doc目录里就有源文件wget.texi。切换到doc目录运行 texi2any --html -o html wget.texi

--html 选项表示转成html格式文件,
-o 选项设置的是输出目录,

转换之后html文件就编译到html文件夹了。

广告内容为平台自动生成