菜鸟科技网

Linux print命令具体如何使用?

在Linux操作系统中,打印功能主要通过一系列命令和工具来实现,其中print命令并非一个独立的命令,而是与打印相关的多个命令和工具的统称,用户通常需要结合lplprlpstatcancel等命令来完成打印任务的管理,这些命令属于CUPS(Common UNIX Printing System,通用UNIX打印系统)的一部分,CUPS是一个开源的打印系统,广泛用于Linux和其他类UNIX系统,它提供了打印服务、打印队列管理以及网络打印支持等功能。

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

打印命令的基本使用

  1. lp命令
    lp命令用于将文件发送到打印队列进行打印,其基本语法为lp [选项] 文件名,常用选项包括:

    • -d:指定打印机名称,例如lp -d printer1 document.txt表示将文件发送到名为printer1的打印机。
    • -n:设置打印份数,默认为1份,例如lp -n 3 document.txt打印3份。
    • -o:指定打印选项,如双面打印(-o sides=two-sided-long-edge)或纸张类型(-o media=A4)。
    • -q:设置打印优先级,数值越高优先级越大,例如lp -q 10 document.txt

    如果不指定打印机,系统会将任务发送到默认打印机,默认打印机的设置可以通过lpoptions -d printer_name命令修改。

  2. lpr命令
    lpr是另一个常用的打印命令,语法与lp类似,但选项略有不同。

    • -P:指定打印机名称,如lpr -P printer2 document.pdf
    • 设置打印份数,例如lpr -# 2 document.txt
    • -J:设置作业名称,例如lpr -J "Report" document.txt

    lprlp的功能大部分重叠,用户可以根据习惯选择使用,两者的主要区别在于选项的命名方式。

    Linux print命令具体如何使用?-图2
    (图片来源网络,侵删)

打印队列管理

  1. lpstat命令
    lpstat用于查看打印状态和队列信息,常用功能包括:

    • lpstat -p:列出所有可用的打印机及其状态(如空闲、忙碌)。
    • lpstat -o:显示打印队列中的所有作业,包括作业ID、用户、文件名和状态。
    • lpstat -s:摘要打印系统信息,包括默认打印机、可用打印机等。
    • lpstat -t:显示打印系统的完整状态,包括CUPS守护进程是否运行。

    lpstat -o printer1会显示printer1打印队列中的所有作业详情。

  2. cancel命令
    cancel用于取消打印作业,可以通过作业ID或打印机名称来指定要取消的作业:

    • cancel 123:取消作业ID为123的打印任务。
    • cancel printer1:取消printer1打印机队列中的所有作业。

    如果用户需要取消自己的作业,可以直接使用cancel -u $USER取消当前用户的所有作业。

    Linux print命令具体如何使用?-图3
    (图片来源网络,侵删)

高级打印选项

  1. 打印设置
    通过lpoptions命令可以设置打印机的默认选项,

    • lpoptions -d printer1 -o sides=two-sided:设置printer1默认为双面打印。
    • lpoptions -o media=legal:设置默认纸张为legal尺寸。

    这些设置会保存到用户配置文件中,影响后续的打印任务。

  2. 打印PDF或图片文件
    对于非文本文件(如PDF、图片),可以直接使用lplpr命令,前提是系统中安装了相应的过滤器(如cups-filters)。

    • lp example.pdf:使用默认打印机打印PDF文件。
    • lpr -P printer2 image.png:将图片发送到指定打印机。
  3. 网络打印
    如果打印机连接在远程主机上,可以通过-h选项指定CUPS服务器地址:

    • lp -h 192.168.1.100 -d remote_printer document.txt:将文件发送到IP地址为192.168.1.100的远程打印机。

常见打印问题及解决方法

  1. 打印机无法连接
    检查CUPS服务是否运行:systemctl status cups,如果未运行,使用systemctl start cups启动服务。
    确认打印机是否被系统识别:lpstat -p,如果未显示,尝试通过CUPS Web界面(http://localhost:631)添加打印机。

  2. 打印作业卡在队列中
    使用lpstat -o检查作业状态,如果显示“processing”但长时间未打印,可能是打印机驱动问题,尝试重新安装驱动或重启CUPS服务:systemctl restart cups

打印命令与选项对照表

命令 功能 常用选项示例
lp 发送文件到打印队列 -d printer1, -n 3, -o sides=two-sided
lpr 发送文件到打印队列 -P printer2, -# 2, -J "Report"
lpstat 查看打印状态和队列 -p, -o, -s, -t
cancel 取消打印作业 123, -u $USER, printer1
lpoptions 设置打印机默认选项 -d printer1, -o media=A4

相关问答FAQs

Q1: 如何查看Linux系统中的默认打印机?
A1: 使用命令lpstat -d可以查看当前系统设置的默认打印机,输出结果可能为system default destination: HP_LaserJet_1020,表示默认打印机为HP_LaserJet_1020。

Q2: 如何将打印任务发送为PDF文件而不是物理打印机?
A2: 可以使用CUPS提供的虚拟打印机功能,首先确保CUPS服务运行,然后通过Web界面(http://localhost:631)添加名为“PDF”的打印机,选择“打印到文件”作为后端,之后使用lp -d PDF document.txt即可将文件保存为PDF,默认位置为用户主目录的“PDF”文件夹。

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