lpr linux命令怎么用,是什么?

LPR(Line Printer Remote)是 Linux 系统中最经典的打印命令之一,用于向打印机提交打印任务,支持本地和远程打印,在 CUPS 为主流的今天,LPR 依然作为标准接口被广泛支持,是系统管理员必须掌握的工具。它源自 BSD 系统,设计简洁,不依赖现代打印子系统也能独立工作,无论你管理的是老旧打印机还是嵌入设备,理解 LPR 都能帮你快速定位打印问题,并直接操作打印队列。

LPR Linux 命令详解:基础用法与参数选项

LPR 是 Linux 下最直接的打印命令,它的核心动作就是把文件发送到打印机队列,在不同发行版中,LPR 通常由 lpr 软件包提供,或集成在 CUPS 的 cups-client 组件中,掌握它的基本语法,是你进行远程打印和排错的第一步。

LPR是什么?LPR+基点是什么意思?房贷利率怎么算?
加载中
LPR是什么?LPR+基点是什么意思?房贷利率怎么算?

基本语法与常见选项

lpr 的标准用法很简单:lpr [选项] 文件名,如果不指定文件,它会从标准输入读取数据,以下是几个最常用的参数,相当一部分日常操作都靠它们完成:

  • -P 打印机名:指定打印机或队列,如果不加,使用系统默认打印机。
  • -# 份数:打印多份副本,-3
  • -h:去掉作业标题页(banner page)。
  • -l:指定文件为原始格式,不进行任何过滤,适合打印二进制数据。
  • -r:打印完成后删除原文件,常用于脚本自动化。

打印文件示例

远程打印一个文本文件,可以用一条命令搞定:

lpr -P remote_printer /home/user/document.txt

如果你需要打印 PDF 并指定份数,可以这样:

lpr -P laserjet -# 2 -h report.pdf

命令会在名为 laserjet 的打印机上打印两份 report.pdf,并去掉标题页,多数情况下,-h 选项能帮你节省纸张,尤其在批量打印时。

指定打印机与队列

LPR 的打印机名称可以在 /etc/printcap 或 CUPS 的配置文件中定义,如果你使用 CUPS,lpr 会通过 lpinfo 识别已安装的打印机,查看可用打印机列表,执行:

lpstat -p -d

输出中会显示所有打印机状态,以及默认打印机名称,你可以把这个名称直接用于 -P 选项。LPR Linux 打印到远程打印机时,名称通常对应远程主机上的队列名,这与本地打印机的配置方式一致。

LPR 与 LP 对比:Linux 打印命令怎么选

很多新手会混淆 lprlp,它们都是提交打印作业的命令,但起源和设计哲学不同。

lpr linux命令怎么用,是什么?

LPR 与 LP 对比 是 Linux 打印管理中的经典话题,了解差异能帮你根据不同场景做出正确选择。

命令起源与设计差异

  • LPR:来自 BSD 系统,历史更早,命令参数较短,选项风格偏传统,它直接操作 printcap 文件,适合嵌入式或老旧系统。
  • LP:来自 System V(AT&T Unix),后来被 CUPS 继承并扩展。lp 的参数更接近现代语法,支持 -o 选项传递自定义参数,-o media=A4

在 CUPS 环境下,两者实际上都通过 lp 后端处理,但 lpr-P 选项与 lp-d 选项作用相同,行业共识认为,lpr 更适合快速脚本编写,因为它的短选项减少了输入量;而 lp 则更适合需要精细控制打印属性的场景。

实际使用场景选择

  • 如果你只需要简单打印文件,不关心标题页或介质类型,LPR 更直接。
  • 如果你需要设置双面打印、打印范围、纸张尺寸,LP-o 选项更灵活。
  • 在远程打印场景中,lpr 的传统 -P hostname:queue 语法依然被许多旧设备支持,而 lp 则依赖 CUPS 的 URI 格式。

LPR Linux 设置默认打印机 可以通过环境变量 PRINTER 实现,这对脚本非常友好。

export PRINTER=hp_laserjet
lpr file.txt

lp 的默认打印机则由 lpoptions 或 CUPS 的 lpadmin 管理,如果你在混合环境中工作,建议优先使用 lpr 保持兼容性,除非你需要 CUPS 特有的高级功能。

配置远程 LPR 打印:连接网络打印机

远程打印是 LPR 的核心应用之一。LPR Linux 打印到远程打印机 不需要安装 CUPS 或其他复杂服务,只要远程主机允许 LPR 协议(端口 515),本地就可以直接提交作业,这一特性在嵌入式系统或受限环境中非常实用。

设置远程打印机地址

在命令行中,可以直接用 -P 指定远程打印机,格式为 主机名:队列名

lpr -P 192.168.1.100:lp -l image.ps

这个命令将原始数据发送到 168.1.100 主机上的 lp 队列,注意,-l 选项告诉 LPR 不要做任何格式转换,直接发送原始字节,这对二进制文件(如 PostScript)至关重要。

使用 /etc/printcap 配置

如果你需要频繁访问远程打印机,可以将其写入 /etc/printcap 文件。printcap

lpr linux命令怎么用,是什么?

是 BSD 风格的打印机数据库,每一行定义一个打印机条目。

remotelaser:
    :lp=:rm=192.168.1.100:rp=lp:
    :sd=/var/spool/lpd/remotelaser:
    :lf=/var/log/lpd-errs:
  • rm:远程主机地址。
  • rp:远程队列名称。
  • sd:本地假脱机目录,用于存放作业。
  • lf:错误日志路径。

配置完成后,运行 lpr -P remotelaser file.txt 即可使用,注意,本地需要运行 lpd 守护进程,否则假脱机无法工作,近年来,多数 Linux 发行版默认不启动 lpd,改用 CUPS 的 cups-browsed 来发现网络打印机,但如果你维护老旧设备,printcap 仍有不可替代的价值。

通过 CUPS 模拟 LPR 服务

如果你使用 CUPS,但需要向后兼容 LPR 客户端,可以启用 CUPS 的 LPD 后端,安装 cups-lpd 包,并启动 cups-lpd 服务,这样 CUPS 就能监听 515 端口,接收传统 LPR 请求,配置方法如下:

sudo systemctl enable cups-lpd.socket
sudo systemctl start cups-lpd.socket

之后,你可以用 lpr -P printer_name 提交作业,CUPS 会自动处理,这种方式适合需要同时支持新旧打印协议的混合网络环境。

LPR 打印队列管理:查看与取消任务

提交作业后,管理队列是日常维护的一部分。LPR Linux 打印队列管理 主要依赖两个命令:lpq(查看队列)和 lprm(取消任务),它们与 lpr 配合使用,构成完整的打印作业生命周期。

使用 lpq 查看队列

lpq 显示指定打印机队列中的作业列表,基本用法:

lpq -P printer_name

输出示例:

Rank    Owner   Job     File(s)                 Total Size
1st     user    123     document.txt             2048 bytes
2nd     user    124     report.pdf               10240 bytes
  • Rank:作业在队列中的位置。
  • Job:作业 ID,用于后续取消。
  • File(s):原始文件名。
  • Total Size:作业大小。

如果不指定 -Plpq 显示默认打印机队列,如果队列为空,它会输出 “no entries”,多数情况下,lpq 是检查打印机是否卡纸或离线的第一工具。

使用 lprm 取消任务

lprm 用于删除未打印的作业,语法:

lprm -P printer_name job_id

取消队列中 ID 为 123 的作业:

lprm -P laserjet 123

如果你不指定作业 ID,

lpr linux命令怎么用,是什么?

lprm 会删除当前用户的所有作业(如果允许),root 用户可以删除任何作业。LPR Linux 设置默认打印机 后,管理队列时不必每次都输入 -P,直接 lprm 123 即可。

队列状态检查与排错

当作业无法打印时,可以查看错误日志,LPR 的日志通常位于 /var/log/lpd-errs/var/log/cups/error_log(如果使用 CUPS),常见错误包括:

  • 打印机不可达:检查远程主机名和端口 515 是否开放。
  • 权限不足/etc/printcap 中的 sd 目录必须可写。
  • 队列已满:删除旧作业或增加假脱机空间。

如果你遇到”Unknown printer”提示,先确认打印机名称是否输入正确,再用 lpstat -p 验证。LPR Linux 命令详解 中,这部分常被忽略,但却是排错的关键。

LPR Linux 常见问题解答

Q1: lpr 命令提示 “Unknown printer” 如何解决?

首先检查打印机名称是否大小写敏感,LPR 的名称通常区分大小写,然后运行 lpstat -p 查看可用打印机列表,确认你使用的名称在其中,如果使用远程打印机,检查 /etc/printcap 中的 rmrp 是否正确,或直接使用 -P hostname:queue 格式,如果仍报错,查看 /var/log/lpd-errs 或 CUPS 错误日志,确认远程服务是否运行。

Q2: 如何设置 lpr 默认打印机?

设置默认打印机有三种方式:1)通过环境变量 export PRINTER=printername,仅对当前会话有效;2)在 /etc/printcap 中将目标打印机列为第一个条目;3)如果使用 CUPS,用 lpadmin -d printername 设置系统默认打印机,lpr 会自动继承,脚本中推荐使用环境变量,避免影响其他用户。

Q3: lpr 和 lp 命令在输出效果上有什么区别?

在 CUPS 环境下,两者最终都调用相同的后端,输出结果完全一致,区别在于参数传递方式:lpr-P 对应 lp-dlpr 的 对应 lp-nlp 支持 -o 传递更细粒度的选项,如 -o page-ranges=1-5,而 lpr 没有原生等价物,如果你只需要简单打印,lpr 更快捷;如果需要高级控制,lp 更灵活,两者都可靠,选择取决于你的习惯和脚本的兼容性要求。

LPR 作为 Linux 打印的基石,在远程应急和系统底层维护中始终有一席之地,掌握它的核心用法,你就能在任何打印异常时快速切入,直接操控作业流程,而不必依赖图形界面。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/511129.html

(0)
服务端和数据库在开发中是什么关系,如何区分它们?
上一篇 2026年7月22日 08:07
Calibre在Linux上怎么安装,如何使用?
下一篇 2026年7月22日 08:11

相关推荐

  • 长沙linux培训机构哪家好,学费大概多少?

    在长沙,Linux不仅是技术工具,更是职业发展的关键能力,无论是企业运维还是开发场景,掌握Linux都能显著提升竞争力,长沙linux学习路径与资源对于想在长沙系统学习Linux的新手,核心问题在于如何从零搭建知识体系并匹配本地就业需求,行业共识认为,Linux学习需要分阶段推进,每个阶段都有明确可验证的实操步……

    2026年7月19日
    300
  • Linux如何安装pthreads,pthread怎么用?

    Linux pthreads无需独立安装,因为它集成在 GNU C Library (glibc) 中,开发者只需安装基础构建工具包(如 build-essential 或 glibc-devel)并在编译命令末尾添加 -lpthread 参数即可调用,pthreads 的本质与运行机制在深入操作之前,必须理清……

    2026年7月13日
    400
  • Linux内存buffer是什么?linux内存buffer和cache区别

    在 Linux 系统中,内存中的 Buffer(缓冲区) 和 Cache(缓存) 是两个经常被混淆但功能截然不同的概念,理解它们对于系统性能调优和故障排查至关重要,以下是对 Linux 内存中 Buffer 的详细解析,包括其定义、作用、与 Cache 的区别以及如何查看和管理,什么是 Buffer(缓冲区……

    2026年7月9日
    13300
  • pex linux是什么?,怎么安装使用?

    pex linux 是 Python 环境打包为独立可执行文件的实用工具,能够在无需预装解析器的 Linux 系统上直接运行 Python 应用,pex linux 到底是什么pex 全称 Python Executable,核心功能是将 Python 项目及其依赖打包成一个 .pex 文件,这个文件在 Lin……

    2026年7月22日
    000
  • linux rename函数怎么用,linux下批量修改文件名的命令

    在Linux系统中,rename函数是执行文件或目录重命名及移动操作的核心工具,它通过原子性操作确保数据一致性,比传统的mv命令在脚本编写中更具优势,很多开发者在Linux环境下处理文件时,习惯性地使用mv命令,但在编写自动化脚本或处理高并发文件操作时,往往会遇到一些隐蔽的陷阱,rename系统调用(对应C语言……

    2026年7月9日
    3000
  • 如何获取Linux服务器的FQDN?,FQDN配置需要注意什么事项

    Linux FQDN(完全限定域名)配置的核心在于通过/etc/hostname设定主机名,并在/etc/hosts或DNS中明确指出主机名与域名(包括顶级域)的完整映射关系,使用hostname -f命令验证生效,这是保证邮件、SSL证书及跨网络服务正常运行的基线操作,Linux FQDN 设置命令与配置详解……

    2026年7月15日
    300
  • 黑苹果在Linux下怎么装?黑苹果安装教程

    在Linux系统上运行macOS(黑苹果)在2026年已不再是极客的专属玩具,而是通过OpenCore引导器和现代硬件适配,成为开发者测试Apple生态应用、享受Unix底层稳定性的务实选择,但需接受驱动兼容性有限和系统更新风险,黑苹果(Hackintosh)的本质是在非Apple硬件上安装macOS,对于Li……

    2026年7月7日
    11100
  • Linux收发包原理是什么?Linux收发包性能优化

    Linux收发包的核心在于网络协议栈的高效处理,通过优化中断机制、调整内核参数及合理配置网卡队列,可显著提升高并发场景下的吞吐量并降低延迟,在网络通信的底层逻辑中,数据包从网卡进入服务器,经过操作系统内核的处理,最终抵达应用层,这一过程被称为“收发包”,对于运维工程师和后端开发人员而言,理解这一黑盒内部的运作机……

    2026年7月7日
    12700
  • linux黑客命令有哪些?linux常用黑客命令及防护

    Linux黑客命令并非魔法咒语,而是系统管理员用于排查故障、加固安全及自动化运维的专业工具,掌握其底层逻辑是构建网络安全防线的基石,在数字世界的深处,Linux操作系统以其开源、稳定和强大的特性,支撑着全球绝大多数服务器、云计算平台以及嵌入式设备,对于初学者而言,”黑客命令”这个词往往带着神秘甚至危险的色彩,仿……

    2026年7月6日
    7700
  • linux res shr是什么?linux系统资源回收方法

    在 Linux 系统中,res 通常不是标准的命令或参数缩写,但结合 shr(可能指 shrinking,即缩小/收缩),你很可能是在询问:如何缩小(shrinking)Linux 文件系统或分区?或者你可能打错了,想输入的是:resize2fs(用于 ext2/ext3/ext4 文件系统)lvreduce……

    2026年7月10日
    8100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注