Shrinking a PDF with Ghostscript is easy in Linux. Below are 3 ghostscript commands to shrink PDFs to a few different levels.
screen – lowest resolution and file size
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/screen" -sOutputFile=output-document.pdf input-document.pdf
ebook – middle of the road resolution and file size
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/ebook" -sOutputFile=output-document.pdf input-document.pdf
printer – high quality resolution and larger file size
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/printer" -sOutputFile=output-document.pdf input-document.pdf