Since most ASCII files are not formatted for printing, it is useful to
format them in some way before they are actually printed. This may include
putting a title and page number on each page, setting the margins, double
spacing, indenting, or printing a file in multiple columns. A common way to
do this is to use a print preprocessor such as pr.

$ pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 thesis.txt | lpr

In the above example, pr would take the file thesis.txt
and skip the first three pages (+4), set the page length to sixty lines
(-l60), double space the output (-d), and add the phrase "Ph.D. Thesis, 2nd
Draft" to the top of each page (-h). Lpr would then queue
pr's output. See its on-line manual page for more information on
using pr.

All of the commands in the Linux printing system accept the -P option.
This option allows the user to specify which printer to use for output. If
a user doesn't specify which printer to use, then the default printer will
be assumed as the output device.

Instead of having to specify a printer to use every time that you print, you
can set the PRINTER environment variable to the name of the printer that you
want to use. This is accomplished in different ways for each shell. For
bash you can do this with

$ PRINTER="printer_name"; export PRINTER

and csh, you can do it with

% setenv PRINTER "printer_name"

These commands can be placed in your login scripts (.profile for bash,
or .cshrc for csh), or issued on the command-line. (See
bash(1) and csh(1) for more information on environment
variables.)