假设我运行命令man who
,我必须按住空格键或 Enter 键才能显示所有内容。有没有办法一次性显示所有内容?
答案1
通过管道输出cat
:
man who | cat
这是有效的,因为man
(或者实际上pager
是 的符号链接less
)将检查连接到 STDOUT 的终端类型。如果没有终端,即如果 STDOUT 被重定向到文件或管道,则不会尝试格式化文本以便可以交互式滚动。
答案2
用作cat
寻呼机;例如,这将转储命令的整个联机帮助页ls
:
man -P cat ls
请注意,这不是可移植的(我只在 Debian 和 Mac OS 系统上尝试过);例如,在 Ultrix 或 Tru64 上,-P 设置 manpath。
答案3
一项古老的绝技:
man whatever | col -b > whatever.txt
使用非常晦涩的col
命令可以过滤掉所有奇怪的退格键和nroff
用于格式化的重复字符。然后,您可以使用您选择的文本编辑器来查看整个手册页。
答案4
假设您需要阅读手册ls
:
man ls | sed 's/\n//g'