Print files
Syntax lp [ -E ] [ -U username ] [ -c ] [ -d destination[/instance] ] [ -h hostname[:port] ] [ -m ] [ -n num-copies ] [ -o option[=value] ] [ -q priority ] [ -s ] [ -t title ] [ -H handling ] [ -P page-list ] [ -- ] [ file(s) ] lp [ -E ] [ -U username ] [ -c ] [ -h hostname[:port] ] [ -i job-id ] [ -n num-copies ] [ -o option[=value] ] [ -q priority ] [ -t title ] [ -H handling ] [ -P page-list ] Options -- Marks the end of options; use this to print a file whose name begins with a dash (-). -E Force encryption when connecting to the server. -U username Specifies the username to use when connecting to the server. -c This option is provided for backwards-compatibility only. On systems that support it, this option forces the print file to be copied to the spool directory before printing. In CUPS, print files are always sent to the scheduler via IPP which has the same effect. -d destination Print files to the named printer. -h hostname[:port] Chooses an alternate server. -i job-id Specifies an existing job to modify. -m Sends an email when the job is completed. -n copies Sets the number of copies to print. -o "name=value [ ... name=value ]" Sets one or more job options. -q priority Sets the job priority from 1 (lowest) to 100 (highest). The default priority is 50. -s Do not report the resulting job IDs (silent mode.) -t "name" Sets the job name. -H hh:mm -H hold -H immediate -H restart -H resume Specifies when the job should be printed. A value of immediate will print the file immediately, a value of hold will hold the job indefinitely, and a UTC time value (HH:MM) will hold the job until the specified UTC (not local) time. Use a value of resume with the -i option to resume a held job. Use a value of restart with the -i option to restart a completed job. -P page-list Specifies which pages to print in the document. The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16". The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages. COMMON JOB OPTIONS Aside from the printer-specific options reported by the lpoptions(1) command, the following generic options are available: -o media=size Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal". -o orientation-requested=4 Prints the job in landscape (rotated 90 degrees). -o sides=one-sided Prints on one side of the paper. -o sides=two-sided-long-edge Prints on both sides of the paper for portrait output. -o sides=two-sided-short-edge Prints on both sides of the paper for landscape output. -o fit-to-page Scales the print file to fit on the page. -o number-up={2|4|6|9|16} Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
Examples
Print two copies of a document to the default printer:
$ lp -n 2 filename
Print a double-sided legal document to a printer called "foo":
$ lp -d foo -o media=legal -o sides=two-sided-long-edge filename
Print a presentation document 2-up to a printer called "foo":
$ lp -d foo -o number-up=2 filename
"Documentation is the castor oil of programming. Managers know it must be good because the programmers hate it so much" ~ Anon
Related macOS commands:
enable - Stop or start printers and classes.
lprm - Remove jobs from the print queue
lpstat - Printer status information
cancel - Cancel print jobs
lpr - print files
lpadmin - printer admin
lpc - Line printer control program