news 2026/5/12 9:34:05

别再只会点‘打印’了!手把手教你用CUPS命令行玩转Linux打印机(附常用命令清单)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再只会点‘打印’了!手把手教你用CUPS命令行玩转Linux打印机(附常用命令清单)

告别GUI束缚:CUPS命令行高效打印全攻略

在Linux系统中,图形界面(GUI)的打印对话框往往隐藏了打印系统的真正潜力。对于追求效率的系统管理员和开发者而言,掌握CUPS命令行工具不仅能实现批量操作和脚本化处理,还能解锁Web界面无法提供的精细控制功能。本文将带您深入探索CUPS命令行工具链,从基础打印到高级配置,让您彻底摆脱鼠标点击的局限。

1. CUPS命令行环境准备

1.1 确认CUPS服务状态

在开始前,首先需要确保CUPS服务正常运行:

systemctl status cups

如果服务未运行,使用以下命令启动并设置开机自启:

sudo systemctl enable --now cups

1.2 必备工具包安装

不同Linux发行版可能需要额外安装打印工具包:

# Debian/Ubuntu sudo apt install cups cups-client printer-driver-all # RHEL/CentOS sudo yum install cups cups-client

提示:生产环境中建议同时安装cups-filtersfoomatic-db以获得更完整的驱动支持

2. 打印机管理核心命令

2.1 设备发现与驱动查询

lpinfo命令是探索打印环境的瑞士军刀:

# 列出所有可用打印设备 lpinfo -v # 显示支持的驱动模型 lpinfo -m | head -n 20

典型输出示例:

network ipp://192.168.1.100/ipp/print direct usb://HP/LaserJet%20P2035?serial=000000000XYZ

2.2 打印机添加与删除

使用lpadmin进行打印机配置:

# 添加网络打印机 sudo lpadmin -p Office_HP -E -v ipp://192.168.1.100/ipp/print -m everywhere # 设置默认打印机 sudo lpadmin -d Office_HP # 删除打印机 sudo lpadmin -x Office_HP

常见URI格式对照表:

协议类型URI示例适用场景
IPPipp://hostname/ipp/print现代网络打印机
USBusb://Make/Model%20Name?serial=XYZ直连USB设备
LPDlpd://hostname/queue传统行式打印机
Socketsocket://hostname:9100原始TCP端口打印

3. 高级打印控制技巧

3.1 多参数组合打印

lp命令的-o选项支持丰富的打印属性控制:

# 双面A4纸打印PDF文档 lp -d Office_HP -o media=A4 -o sides=two-sided-long-edge document.pdf # 自定义边距和缩放比例 lp -d Office_HP -o page-left=36 -o page-right=36 -o scaling=90 presentation.pptx

常用打印选项速查:

  • -o media=Letter:指定纸张尺寸
  • -o number-up=2:每页2版排版
  • -o page-ranges=1-3,5:选择性打印页面
  • -o print-quality=5:最高打印质量

3.2 批量打印与脚本集成

命令行打印天然适合批量处理:

# 打印目录下所有PDF文件 for f in *.pdf; do lp -d Office_HP "$f"; done # 结合find命令递归打印 find . -name "*.docx" -exec lp -d Office_HP {} \;

4. 状态监控与队列管理

4.1 实时状态查询

lpstat提供多种视角查看打印系统状态:

# 显示所有打印机状态概览 lpstat -t # 查看特定打印机详情 lpstat -p Office_HP -l

4.2 打印队列操作

管理积压的打印作业:

# 查看队列中所有任务 lpstat -o # 取消单个打印作业 cancel job-id # 清空某打印机所有队列 cancel -a Office_HP

5. 实战命令速查手册

5.1 日常操作快速参考

# 快速打印测试页 echo "CUPS Test Page" | lp -d Office_HP # 生成打印系统诊断报告 lpinfo -v > printers.txt lpstat -t >> printers.txt

5.2 故障排查命令集

当遇到打印问题时,按顺序执行以下诊断:

  1. 检查CUPS服务状态:systemctl status cups
  2. 验证打印机连接性:ping printer-ip
  3. 查看错误日志:tail -f /var/log/cups/error_log
  4. 测试原始打印功能:echo -e "\033%-12345X" > /dev/usb/lp0

6. 安全与权限配置

6.1 用户权限管理

通过lpadmin设置访问控制:

# 允许特定用户组使用打印机 sudo lpadmin -p Office_HP -u allow:groupname # 设置打印配额 sudo lpadmin -p Office_HP -o job-quota-period=604800 -o job-page-limit=100

6.2 安全打印配置

启用加密打印传输:

sudo lpadmin -p Office_HP -o printer-op-policy=authenticated sudo cupsctl --remote-any --remote-admin --share-printers --encryption=required

7. 自动化与高级集成

7.1 打印系统监控脚本

创建/usr/local/bin/print-monitor.sh

#!/bin/bash PRINTER="Office_HP" STATUS=$(lpstat -p $PRINTER | awk '{print $3}') if [ "$STATUS" = "disabled" ]; then logger "Printer $PRINTER is down!" # 可添加邮件报警逻辑 fi

7.2 CUPS API开发示例

使用Python操作CUPS的简单示例:

import cups conn = cups.Connection() printers = conn.getPrinters() for printer in printers: print(f"Printer: {printer}, URI: {printers[printer]['device-uri']}") job_id = conn.printFile('Office_HP', 'document.pdf', "Python Print", {})

8. 性能调优技巧

8.1 内存与缓存配置

编辑/etc/cups/cupsd.conf优化性能:

MaxJobs 100 MaxJobTime 3600 CacheDir /var/cache/cups

8.2 网络打印优化

对于高延迟网络环境:

sudo lpadmin -p Office_HP -o printer-error-policy=retry-job sudo lpadmin -p Office_HP -o job-retry-interval=300

掌握这些CUPS命令行技巧后,您会发现处理打印任务变得前所未有的高效。从简单的文档输出到复杂的批量处理,命令行提供了图形界面无法比拟的灵活性和控制力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 9:32:35

Helmfile实战指南:从Helm管理地狱到声明式部署天堂

1. Helmfile:从“Helm 管理地狱”到“声明式部署天堂”的实践指南如果你和我一样,在 Kubernetes 集群里管理着几十甚至上百个 Helm Chart,每天在helm install、helm upgrade、helm list和一堆values.yaml文件之间疲于奔命,那么 He…

作者头像 李华
网站建设 2026/5/12 9:31:33

探索原神帧率新维度:如何安全突破60FPS限制

探索原神帧率新维度:如何安全突破60FPS限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否曾在提瓦特大陆上驰骋时,感觉画面的流畅度似乎被一道无形的枷锁…

作者头像 李华
网站建设 2026/5/12 9:31:32

国家顶层部署“六张网”建设

“六张网”是国家在2026年明确部署的新一轮基建顶层设计,涵盖水利、能源、数字、通信、地下空间和物流六大领域,2026年相关投资规模预计超过7万亿元,标志着国家投资重点从传统"铁公基"向深度融合数字化、智能化和绿色化的基础设施网…

作者头像 李华
网站建设 2026/5/12 9:30:42

3分钟掌握MouseClick:免费开源鼠标连点器,让你的双手彻底解放

3分钟掌握MouseClick:免费开源鼠标连点器,让你的双手彻底解放 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面…

作者头像 李华
网站建设 2026/5/12 9:29:51

如何高效搭建个人游戏串流服务器:Sunshine实战解决方案

如何高效搭建个人游戏串流服务器:Sunshine实战解决方案 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源自托管的游戏串流服务端,专为Moo…

作者头像 李华