Say if I run the command
man who, I have to keep pressing space or enter to show all content. Is there a way to show all of the content at once?
Pipe the output through
man who | cat
This works because
man (or actually
pager, which is a symlink to
less) will check to see what kind of terminal is connected to STDOUT. If there is no terminal, i.e if STDOUT is redirected to a file or pipe, then there will be no attempt to format the text so that it can be interactively scrolled.
cat as the pager; for example this will dump the entire manpage for command
man -P cat ls
Note that this isn't portable (I only tried this on Debian and Mac OS systems); for example, on Ultrix or Tru64, -P sets the manpath.
If you use a terminal emulator that supports scrolling back, and have set the size of the scrollback buffer to something "sufficently large", you can use that scrollback for navigating the output.
I would use
MANPAGER=cat man who
to write out all the man page text at once to the terminal (it's a variant of
man -P cat ls).
konsole as terminal, which is set up to support scrolling using the mouse scroll wheel.
It works very well for this case - the wheel scrolls through the man page text, and entering any character jumps back to the prompt. Using the keys Shift+PgUp and Shift+PgDn, you can scroll by terminal hight sections.
Other terminal emulators can be set up in a similar way.
As alternative, a terminal multiplexer like
screen can be used to provide the scrollback buffer.
If you can not scroll up to the top of the man page, set the scrollback buffer size of your terminal emulator to a larger value.