How do I Print Out a Linux man or info Page?

by on November 28, 2005 · 2 comments· LAST UPDATED July 21, 2010

in

Some time it is necessary to print a Linux man or info page. To print a ls command man page type the following command:

$ man ls | col -b | lpr -P hp1_floor2
Where,

  • col -b : To format man page output, it will not show any special character such as backspaces
  • lpr -P hp1_floor2 : hp1_floor2 is the printer name of the Linux/UNIX printer queue

To print the man page with effects such as italic and bold fonts on the HP Laser Jet printer, enter:
$ zcat /usr/share/man/man1/ls.1.gz | groff -man -Tps | lpr -P hp1_floor2

You can save man page as a ps file, enter:
zcat /usr/share/man/man1/ls.1.gz | groff -man -Tps >top.ps

Where,

  1. zcat : Open compressed /usr/share/man/man1/ls.1.gz file
  2. groff : Go through groff document formatting system, which is responsible for formatting of man page with effects such as italic and bold fonts on both screen and printer
  3. lpr -P hp1_floor2 : hp1_floor2 is the printer name of the Linux/UNIX printer queue

Here is a shell script that we have installed on all Linux workstations, it saves man page in a text file and later user can print it using lpr command.

#!/bin/bash
# Linux shell script to save man pages to text file
# so that later user can print them
# Created by nixcraft <http://www.cyberciti.biz>, under GPL v2.0 or above.
# ----------------------------------------------------------------------
CMDS="$@"
OUTDIR="/tmp/$USER.man"
[ ! -d "$OUTDIR" ] && mkdir -p "$OUTDIR"  :
for i in $CMDS
do
 man "${i}"  col -b > "$OUTDIR/${i}.txt"
done
echo "**********************************************************"
echo "All man pages saved to $OUTDIR directory"
echo "Just goto \"$OUTDIR\" directory and type the following command
to print man page(s):"
echo "lpr *.txt"
echo "**********************************************************"
exit 0
 

Just type the script-name followed by Linux commands, for example to print a man page of ls and bash type
$ saveman "ls bash"

Related: How do I print or make hard copies of Linux man and info pages?

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 Charles McCreary May 27, 2012 at 3:16 am

I tried this:
http://www.cyberciti.biz/tips/how-do-i-print-out-a-linux-man-or-info-page.html

I think:
man “${i}” col -b > “$OUTDIR/${i}.txt”

should be
man “${i}” | col -b > “$OUTDIR/${i}.txt”

Reply

2 Murpholinox May 31, 2012 at 6:08 am

and for (p)info pages how can I get the information into a pdf file?

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , , , ,

Previous post:

Next post: