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 打印命令怎么选

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

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:作业大小。

如果不指定 -P,lpq 显示默认打印机队列,如果队列为空,它会输出 “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 中的 rm 和 rp 是否正确,或直接使用 -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 的 -d,lpr 的 对应 lp 的 -n。lp 支持 -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安装Phalcon?phalcon安装教程

    在Linux环境下安装Phalcon最高效的方式是使用PECL扩展或编译源码,推荐优先尝试PECL命令,因其能自动处理依赖关系并集成至PHP运行环境,Phalcon作为一个基于C语言编写的Web框架,其核心优势在于极低的资源占用和惊人的执行速度,对于追求高性能的开发者而言,在Linux服务器上部署它并非简单的复……

    2026年7月7日
    19400
  • 8h8g服务器到底能容纳多少人,多少人同时在线

    8h8g服务器(8核CPU、8GB内存)在合理配置下,可支撑约500至2000个活跃在线用户,若要达到这个数字,必须配合静态资源分离、数据库优化和带宽规划,这个结论基于主流Web架构的性能基准和多数中小型项目的实际表现,接下来拆解每一个决定承载量的硬指标,8h8g服务器的真实物理瓶颈服务器能容纳的人数从来不取决……

    2026年8月13日
    400
  • Linux怎么使用CMake编译,cmake怎么安装配置?

    在 Linux 上从源码编译安装 CMake虽然大多数 Linux 发行版都可以通过包管理器(如 apt 或 yum)直接安装 CMake,但包管理器提供的版本往往较旧,如果你需要使用最新特性,从源码编译是最佳选择,准备工作在开始编译之前,必须确保系统中已经安装了必要的构建工具和依赖项,编译器:gcc 和 g……

    2026年7月13日
    9900
  • 新买的服务器怎么看公网IP?,详细步骤是什么?

    新买的服务器,公网IP地址通常可以在服务商提供的管理控制台、服务器自身命令行或网络设备配置中快速查到,最直接的方法就是登录服务器提供商的控制台,在实例详情页面找到公网IP信息,从云服务商控制台直接获取对于大多数云服务器用户,这是最省时省力的方法,登录你购买服务器的平台账号,进入云服务器管理页面,通常会有“实例……

    2026年8月24日
    1000
  • 如何在Linux进入SQL?linux连接mysql数据库详细教程

    在Linux终端进入SQL环境的核心步骤是安装数据库客户端(如MySQL的mysql命令或PostgreSQL的psql),并通过命令行参数指定用户名、密码及主机地址,或直接输入命令后交互式输入凭证即可连接数据库,对于许多刚接触Linux服务器的开发者或运维人员来说,命令行界面往往给人一种冷冰冰且难以接近的印象……

    2026年7月5日
    15300
  • 3u服务器一般多少钱一台,最新报价多少钱?

    3U服务器的价格并非固定数字,通常整机租赁或托管费用在每月数百元到数千元之间,具体取决于CPU、内存、硬盘、带宽以及服务商资质,入门配置月费约500-800元,中端配置1000-2000元,高端配置3000元以上,一次性购买则根据硬件成本叠加计算,影响3U服务器价格的核心因素硬件配置是价格基座3U机箱比1U/2……

    2026年8月20日
    1300
  • 12kw服务器机柜一小时多少度电?,电费多少钱一度?

    一个12kw服务器机柜在满载运行时每小时耗电12千瓦时,也就是12度电,但实际负载率通常维持在60%到80%之间,因此一小时耗电量大致在8到10度上下,具体数值取决于内部设备的真实功耗与工作负载,12kw服务器机柜的耗电计算原理12kw这个数字代表机柜可分配的最大功率上限,并非恒定功耗,实际耗电由机柜内所有设备……

    2026年7月29日
    400
  • EC服务器直升卡能升多少级,升级上限是多少?

    EC服务器直升卡不是“限升几级”,而是“跳级”机制——它最多能让你从当前配置直接升到机房所支持的最高档位,具体可升的级数取决于你的初始配置和机房库存,而不是一个固定数字,EC服务器直升卡的核心机制与升级上限很多用户第一次接触“直升卡”时会误以为它类似于游戏里的“连升三级”,在服务器租用领域,直升卡是一种配置升级……

    2026年8月28日
    600
  • 大公司服务器防护是多少G?,服务器防护一般多少G?

    大公司服务器防护能力普遍在300Gbps起步,核心业务系统常采用500Gbps至TB级弹性防护,但这并非固定数值,而是根据业务规模、攻击态势和成本权衡动态调整的区间,所谓“多少G”在行业内通常指DDoS高防IP或高防机房的清洗能力,即每秒可承受的恶意流量峰值,大公司不会只买一个固定档位,而是采用“基础防护+弹性……

    2026年9月1日
    300
  • 服务器一天1T流量要多少钱,租用价格贵不贵?

    服务器一天1T流量费用通常在几十元到几百元之间,具体取决于计费模式(流量或带宽)、机房等级以及服务商提供的资源冗余,一天1T流量费用到底怎么算流量计费与带宽计费的区别多数IDC服务商采用两种计费方式:按流量计费或按带宽峰值计费,一天1T流量如果按流量计费,单价在0.5元-1.5元/GB之间,那么一天费用大约是5……

    2026年8月20日
    800

发表回复

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