菜鸟科技网

Linux lp命令如何使用?

lp 是 Linux 系统中用于提交打印任务的标准命令,属于 CUPS(Common UNIX Printing System)打印系统的一部分,它允许用户从命令行将文本文件、图像或其他格式的文档发送到指定的打印机,并支持设置打印选项如份数、纸张大小、打印质量等,相较于图形界面的打印操作,lp 命令更适合批量打印、脚本自动化或远程服务器环境下的打印需求。

Linux lp命令如何使用?-图1
(图片来源网络,侵删)

基本语法与常用选项

lp 命令的基本语法为:

lp [选项] [文件名]

若未指定文件名,lp 会从标准输入读取数据(例如通过管道传递内容),以下是常用选项及功能说明:

选项 功能描述
-d 打印机 指定目标打印机名称(若未指定,使用默认打印机)
-n 份数 设置打印份数(默认为 1)
-o 选项 自定义打印参数(如纸张大小、双面打印等)
-H 优先级 设置任务优先级(hold 暂停、immediate 立即、priority 级别)
-t 标题 设置打印任务的标题(显示在打印队列中)
-P 页面范围 打印指定页面(如 -P 1-3,5 表示打印第 1、2、3、5 页)
-U 用户名 以指定用户身份提交打印任务(需管理员权限)

核心使用场景与示例

打印单个文件

最简单的用法是直接打印文件,系统会自动使用默认打印机:

lp document.txt

若需指定打印机,通过 -d 选项指定打印机名称(可通过 lpstat -p 查看可用打印机):

Linux lp命令如何使用?-图2
(图片来源网络,侵删)
lp -d HP_LaserJet_1020 report.pdf

设置打印份数与页面范围

打印 3 份文件,且仅打印第 2-4 页:

lp -n 3 -P 2-4 manual.docx

自定义打印参数

通过 -o 选项可调整打印细节,常用参数包括:

  • media=纸张大小:如 A4LetterLegal
  • sides=双面模式one-sided(单面)、two-sided-long-edge(长边双面)、two-sided-short-edge(短边双面)
  • fit-to-page:自动缩放内容适应纸张大小
  • landscape:横向打印(默认为纵向 portrait

示例:使用 A4 纸横向双面打印,并自动缩放内容:

lp -d Office_Printer -o media=A4 -o sides=two-sided-long-edge -o landscape -o fit-to-page presentation.pdf

从标准输入打印 需通过管道传递(如过滤文本后打印),可不指定文件名:

grep "error" system.log | lp -t "Error Logs"

此命令会将 system.log 中包含 "error" 的行过滤后发送到打印机,任务标题为 "Error Logs"。

管理打印任务

提交打印任务后,可通过 lpq 查看打印队列状态,或通过 cancel 取消任务:

lpq -a  # 查看所有打印机的队列
cancel 请求ID  # 取消指定任务(请求ID可通过lpq或lpstat -o查看)

进阶技巧与注意事项

  1. 默认打印机设置:通过 lpoptions -d 打印机名称 可设置默认打印机,后续 lp 命令无需每次指定 -d 选项。
  2. 打印格式限制lp 默认支持文本文件、PDF、PostScript(.ps)等格式,若需打印图片(如 .jpg、.png),需确保打印机支持直接图片打印,或先转换为 PDF。
  3. 任务优先级控制:通过 -H priority=级别(级别范围 1-100,100 为最高)可调整任务执行顺序,
    lp -H priority=80 urgent.txt
  4. 远程打印:若打印机通过网络共享(如 CUPS 服务器),可通过 -h 服务器IP 指定远程打印服务器:
    lp -h 192.168.1.100 -d Network_Printer remote_file.txt

FAQs

Q1:如何查看系统中可用的打印机列表及其状态?
A1:使用 lpstat -p 命令可列出所有打印机及其状态(如 "idle" 空闲、"processing" 打印中、"stopped" 停止),若需查看默认打印机,使用 lpstat -d

lpstat -p -d

输出示例:

printer HP_LaserJet_1020 is idle. enabled since Mon 15 Jan 2024 09:30:12 AM CST
printer Office_Printer is processing. enabled since Mon 15 Jan 2024 10:15:22 AM CST
system default destination: HP_LaserJet_1020

Q2:为什么提交打印任务后,打印机没有反应?
A2:可能的原因及解决方法:

  • 打印机未启用或暂停:通过 lpstat -p 查看打印机状态,若显示 "disabled",使用 cupsenable 打印机名称 启用;若显示 "stopped",使用 cupsaccept 打印机名称 接受任务。
  • 打印任务被暂停:通过 lpstat -o 查看任务队列,若任务状态为 "held",使用 lp -i 请求ID -H resume 恢复任务。
  • 格式不支持:检查文件格式是否为打印机兼容格式(如文本、PDF、PostScript),尝试转换为 PDF 后重新打印。
  • 纸张或墨盒问题:检查打印机物理状态(如缺纸、墨盒耗尽),可通过打印机控制面板或 lpstat -p -v 查看详细错误信息。
分享:
扫描分享到社交APP
上一篇
下一篇