在办公室赶报告,打印机突然罢工,图形界面点来点去没反应,这时候你可能会抓狂。其实,换个思路,用命令行工具反而更快更稳。很多人以为命令行是程序员的专利,但在打印扫描这类日常任务中,它也能大显身手。
查看当前可用打印机
在Linux或macOS系统中,lpstat 是个好帮手。输入下面这行命令,立刻就能看到所有已注册的打印机:
lpstat -p
比如你刚连上一台新打印机,但系统没弹出提示,运行这命令,一眼就能确认它是否被识别。
直接打印文件不靠鼠标
不想打开PDF再点打印?用 lpr 命令一行搞定。比如你要打印一份合同:
lpr /home/user/contracts/q3-report.pdf
如果系统里有多台打印机,默认会打到默认设备。想换一台?加个 -P 参数就行:
lpr -P office_printer /home/user/contracts/q3-report.pdf
批量打印省时间
财务月底要打十几张报表,一张张点太累。写个简单循环,全部丢给打印机:
for file in *.pdf; do lpr "$file"; done
这个小脚本会把当前目录下所有PDF文件依次发送打印,人在旁边整理纸张就行。
暂停队列处理紧急任务
别人一堆大文件占着队列,你的急件卡在后面?先暂停当前任务:
lp -i 123 -H hold
等你打完要紧的,再放行:
lp -i 123 -H resume
这里的123是任务ID,用 lpstat -o 能查到。
扫描文档也走命令行
有些老式扫描仪在图形界面里找不到驱动,试试 scanimage。先看看设备在不在:
scanimage -L
如果看到类似 device `genesys:libusb:001:005' is connected 的提示,说明能用。开始扫一页黑白文档:
scanimage --format=tiff --mode=Lineart --resolution=300 > scan-001.tiff
扫完直接拿lpr scan-001.tiff打印出来,全程不用碰鼠标。
设置默认打印机一劳永逸
总用同一台设备?设成默认,以后省事:
lpoptions -d office_printer
下次打印再也不用指定名字。这个设置对当前用户生效,重启也不丢。
清除卡住的打印任务
打印机显示“处理中”却不动,可能是任务卡了。查一下:
lpstat -o
找到卡住的任务ID,比如 printer-456,直接删掉:
cancel printer-456
或者清空整个队列:
cancel -a
然后重新提交,往往问题就解决了。