菜鸟科技网

Linux打印文件命令有哪些?

在Linux操作系统中,打印文件是一项常见且重要的任务,无论是日常办公还是服务器管理,都可能需要将文档输出到打印机,Linux提供了多种打印命令和工具,以满足不同场景下的需求,本文将详细介绍Linux中常用的打印文件命令,包括它们的基本用法、选项参数以及适用场景,帮助用户高效完成打印任务。

Linux打印文件命令有哪些?-图1
(图片来源网络,侵删)

最基础也是最常用的打印命令是lplpr,这两个命令是CUPS(Common UNIX Printing System,通用UNIX打印系统)的核心工具,几乎所有现代Linux发行版都默认支持。lp命令的全称是“line printer”,其语法为lp [选项] 文件名,而lpr命令的语法为lpr [选项] 文件名,两者功能相似,但选项略有不同。lp -d printer_name file表示将文件发送到指定的打印机,而lpr -P printer_name file中的-P选项用于指定打印机名称(注意大小写),如果不指定打印机,系统会使用默认打印机。lplpr都支持多份打印,如lp -n 3 file表示打印3份,而lpr -# 3 file中的选项实现相同功能,对于双面打印,lp -o sides=two-sided-long-edge file可以设置长边翻转,lpr -o duplex=long-edge file则通过duplex参数实现,这些基本选项覆盖了大多数日常打印需求。

除了直接打印文件内容,Linux还允许用户将文件发送为特定格式或进行预处理。enscript命令可以将文本文件转换为PostScript格式并打印,适合处理纯文本文件,其常用选项包括-p指定输出文件名,-G添加页眉,-f设置字体等。enscript -G -f Courier10 file会以Courier字体、带页眉的方式将文件转换为PostScript并打印,对于PDF文件,直接使用lplpr可能无法正确渲染,此时可以借助cups-pdf虚拟打印机将PDF转换为PostScript后再打印,或者使用evinceokular等文档查看器的打印功能,对于图片文件,lp命令支持通过-o media选项指定纸张类型,如-o media=a4,而lpr则可以通过-o选项传递任意CUPS支持的参数,如-o resolution=600dpi设置打印分辨率。

在批量打印或需要更灵活控制时,可以结合Linux的管道和重定向功能。cat file.txt | lp可以将文件内容通过管道传递给lp命令进行打印,而lp file1.txt file2.txt则可以一次性打印多个文件,对于需要先处理再打印的场景,可以使用awksed等工具对文本进行过滤或格式化,再通过管道输出到打印命令。grep "keyword" file.txt | lp可以只打印包含特定关键词的行。lpstat命令是打印状态查看工具,lpstat -p列出所有打印机,lpstat -o显示打印作业队列,lpstat -t则显示系统打印状态摘要,这些命令对于排查打印问题非常有用。

在服务器或无图形界面的环境中,命令行打印是主要方式,但Linux也支持通过图形界面工具进行打印,如系统设置中的打印管理器、GNOME的“打印机”应用或KDE的“打印系统”工具,这些工具通常提供更直观的配置选项,如添加打印机、设置默认纸张、管理打印队列等,底层仍依赖CUPS和命令行工具,对于高级用户,还可以编写Shell脚本实现自动化打印,例如结合find命令批量处理目录中的文件并打印,或使用lpq查看打印队列后通过lprm取消特定作业。

Linux打印文件命令有哪些?-图2
(图片来源网络,侵删)

为了更清晰地展示常用打印命令及其选项,以下表格总结了核心命令的功能和典型用法:

命令 功能描述 常用选项及示例
lp 基本打印命令 -d指定打印机:lp -d HP_LaserJet file-n设置份数:lp -n 2 file
lpr 基本打印命令(BSD风格) -P指定打印机:lpr -P Brother_DCP file;设置份数:lpr -# 3 file
lpstat 查看打印状态 -p列出打印机:lpstat -p-o显示队列:lpstat -o-t显示摘要:lpstat -t
lprm 取消打印作业 取消当前用户作业:lprm -;取消指定作业ID:lprm 123
enscript 文本转PostScript打印 -G添加页眉:enscript -G file-f设置字体:enscript -f Times12 file

在实际使用中,可能会遇到一些常见问题,打印作业卡在队列中,可以通过lpq查看作业状态,若显示“held”,则可能是权限或配置问题,需检查/etc/cups/printers.conf或使用lp -i job_id -H resume恢复作业,又如,打印乱码通常是因为文件格式与打印机不兼容,对于PostScript打印机,需确保文件为PS或PDF格式;对于非PostScript打印机,可尝试通过cupsfilter工具转换文件格式,确保打印机已正确连接并被CUPS识别,可通过lpinfo -v查看系统支持的打印机设备,或访问http://localhost:631(CUPS Web管理界面)进行配置。

Linux打印命令的强大之处在于其灵活性和可扩展性,通过组合不同的工具和选项,用户可以实现从简单文本到复杂文档的打印,同时支持批量处理和自动化任务,无论是日常办公还是服务器运维,掌握这些命令都能显著提升工作效率,随着CUPS的不断更新,Linux打印系统也在持续优化,支持更多网络打印机、高级功能(如装订、 stapling)和云打印服务,为用户提供了更丰富的打印体验。

相关问答FAQs

  1. 问:如何查看Linux系统中的默认打印机设置?
    :使用lpstat -d命令可以查看当前设置的默认打印机,执行lpstat -d后,若输出system default destination: HP_LaserJet,则表示默认打印机为HP_LaserJet,如需修改默认打印机,可通过lpoptions -d printer_name命令设置,例如lpoptions -d Brother_DCPBrother_DCP设为默认打印机。

  2. 问:Linux打印时如何指定纸张大小和打印方向?
    :可通过lplpr-o选项传递CUPS支持的参数,指定A4纸张:lp -o media=a4 file;指定Letter纸张:lpr -o media=letter file,打印方向可通过sides参数控制,如长边翻转(双面打印):lp -o sides=two-sided-long-edge file;短边翻转:lp -o sides=two-sided-short-edge file,部分打印机还支持orientation参数,如lp -o orientation=landscape file设置为横向打印。

分享:
扫描分享到社交APP
上一篇
下一篇