This contains the various functions for printing in Linux/Unix Printing anything with `lp` command: echo "123" > lp Printing a file with `lpr` command: lpr [ options ] [ filename ... ] lpr -#3 file.txt // will print three copies of file.txt cat file.txt | lpr // lpr reads from stdin as well Viewing the print queue with `lpq` command: lpq lp is ready and printing Rank Owner Job Files Total Size active mwf 31 thesis.txt 682048 bytes Cancelling a print job with `lprm` command: lprm - // cancels all print jobs lprm 31 // cancels print job 31 Formatting a file before printing with `pr`: pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 thesis.txt | lpr +4 // skip first three pages -l60 // set page length to 60 lines -d // double space the output -h // add the header to each page Seeing printers with `lpstat` command: lpstat -d -p // lists all printers and the default printer Set the default printer with `lpoptions` command: loptions -d printerName Setting options with -o argument: lpr -o landscape -o fit-to-page -o media=Letter Media Options -o media=XYZ Letter - US Letter (8.5x11 inches, or 216x279mm) Legal - US Legal (8.5x14 inches, or 216x356mm) A4 - ISO A4 (8.27x11.69 inches, or 210x297mm) COM10 - US #10 Envelope (9.5x4.125 inches, or 241x105mm) DL - ISO DL Envelope (8.66x4.33 inches, or 220x110mm) Transparency - Transparency media type or source Upper - Upper paper tray Lower - Lower paper tray MultiPurpose - Multi-purpose paper tray LargeCapacity - Large capacity paper tray -o media=Custom.[width]x[length][dimension] -o media=Custom.3x4in Margin Options -o page-left=value -o page-right=value -o page-top=value -o page-bottom=value The value argument is the margin in points; each point is 1/72 inch or 0.35mm. Scale Options -o cpi=10 sets the number of characters per inch -o lpi=6 sets the number of lines per inch