如何在终端中获取手册的原始文本输出


8

如何在终端中获取手册的原始文本输出?

我想要没有显示“较少”类型屏幕的手册。


2
您是什么意思“原始文本输出”?有一个-t使用格式化手册页的选项groff
edwinksl

Answers:


12

您可以将寻呼机更改为cat使用以下-P选项:

man -P cat command

command您要阅读其手册页的感兴趣的命令在哪里?

您还可以将手册页重定向到一个文件,然后打开该文件即可读取:

man command > file

4

您可以直接读取压缩的文件(也可以是未压缩的man文件),该文件/usr/share/man/位于相应部分的目录下。

因此,例如,要获取的man页面的原始内容cat,您需要阅读/usr/share/man/man1/cat.1.gz

zcat /usr/share/man/man1/cat.1.gz 

同样,对于man 2 fork

zcat /usr/share/man/man2/fork.2.gz

3

如果您想要一种文本格式,并且又不想在文档中到处都有那些讨厌的“页面分隔符”,则一种方法是:

zcat /usr/share/man/en/man1/man.1.gz | groff -m man -rcR=1 -T ascii -

(更改/usr/share/man/en/man1/man.1.gz为您要查找的手册页。这是man的手册页(与:相同man man,但没有页面分隔符)

有一种方法可以执行自定义的man命令,为您执行相同的操作,但是我现在无法对其进行测试...


1

重定向man的输出(如其他答案所示)应能按预期工作。man会检测到其输出不是tty,因此避免打印适当的转义字符,否则这些转义字符将提供斜体粗体和其他格式。

作为更一般的答案,您可以用来col -b从任何命令的输出中剥离此类字符。并非所有命令都像它一样聪明,man并且可能无法检测到它们的输出正在重定向。换句话说,您可以执行以下操作:

man command | col -b > somefile
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.