The lpr command prints a document on Linux. You might not always invoke this command directly--you may just press a Print button on some glitzy drag-and-drop graphical interface--but ultimately, printing is handled by lpr and the other print-management utilities we’ll describe here.

If you want to print a program listing, you might enter:

lpr myprogram.c

Input is also often piped to lpr from another command, as we will see later. lpr starts the printing process by storing the data temporarily to a directory called a print spool. Other parts of the print management system, which we showed you how to set up in Section 8.4 in Chapter 8, remove files from the print queue in the correct order, process the file for printing, and control the flow of data to the printer.

There is at least one print spool for each printer on the system.[31] By default, lpr looks for a printer named lp. But if you need to specify a printer of a different name, just include a -P option.

For example, to send your document to a printer named nene, enter:

lpr -Pnene myprogram.c

If you forget the name of a printer, you can look at the names of the spool directories under the /var/spool/lpd directory or at the /etc/printcap file entries to see all the names recognized for each printer.

If you want to use a particular printer for most of your printing needs, you can also set it in the PRINTER environment variable. So, assuming that you are using the bash shell, you could make nene your personal default ...

Get Running Linux, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.