lp – printer output


lp [ option ... ] [ file ... ]


Lp is a generalized output printing service. It can be used to queue files for printing, check a queue, or kill jobs in a queue. The options are:

-d dest

Select the destination printer. If dest is ?, list the currently available printers. In the absence of -d, the destination is taken from the environment variable LPDEST. Destination stdout is the standard output. Destination safari is /dev/lpt1data line printer port on a 386 machine, assumed to be connected to a PostScript printer. Destinations hpdeskjet and bjc240l are also /dev/lpt1data but assumed to be connected to an HP Deskjet 670 or Canon BJC-240. Lp can print to any printer supported by Ghostscript using syntax gs!device where device is a Ghostscript output device. See gs(1) and the canonbjc240l entry in /sys/lib/lp/devices.  


Kill the job(s) given as subsequent arguments, instead of file names, for the given destination.  

-p proc

The given processor is invoked. The default processor is generic, which tries to do the right thing for regular text, HTML, or troff(1) output. If no processing is desired noproc may be specified.  


Print the queue for the given destination. For some devices, include printer status.  


Stops and restarts the printer daemon. If the printer is wedged, it is often useful to cycle the power on the printer before running this command.  

The remaining options may be used to affect the output at a given device. These options may not be applicable to all devices.

-c n

Print n copies.  

-f font

Set the font (default CW.11).  


Suppress printing of header page.  

-i n

Select paper input tray. n may be a number 0-9, the word man for the manual feed slot, and/or simplex or duplex to get single or double sided output. Multiple input tray options may be specified if they are separated by commas.  

-l n

Set the number of lines per page to n.  


Print pages in landscape mode (i.e. turned 90 degrees).  

-m v

Set magnification to v.  

-n n

Print n logical pages per physical page.  

-o list

Print only pages whose page numbers appear in the comma-separated list of numbers and ranges. A range n-m means pages n through m; a range -n means from the beginning to page n; a range n- means from page n to the end.  


Reverse the order of page printing.  

-x v

Set the horizontal offset of the print image, measured in inches.  

-y v

Set the vertical offset of the print image, measured in inches.  


eqn paper | troff -ms | lp -dsafari

Typeset and print a paper containing equations.  

pr -l100 file | lp -l100 -fCW.8

Print a file in a small font at 100 lines per page.  

lp -dstdout /dev/windows/3/window > doc.ps

Convert an image to a postscript file.  


/rc/bin/lp /sys/src/cmd/lp


P. Glick, “A Guide to the Lp Printer Spooler”.


Not all options work with all output devices. Any user can kill any job.