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://test.idctop.com/article/511129.html

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

相关推荐

  • 迷你电脑制作教程,手工DIY迷你电脑怎么做?

    制作一台高性能的迷你电脑不仅仅是节省桌面空间,更是对硬件集成能力与散热设计的极致考验,通过合理的硬件选型与精细的组装工艺,完全可以在极小的体积内实现媲美台式机的性能,同时兼顾静音与美观,这篇手工迷你电脑制作教程将为您提供从零开始的系统化解决方案,确保您能够独立完成一台兼具美观与实用性的迷你主机,实现性能与体积的……

    2026年2月21日
    16800
  • 咸鱼云圣何塞VPS值得买吗,圣何塞CN2 GIA VPS推荐

    SaltyFishCloud咸鱼云圣何塞CN2 GIA VPS以108.5元/季的极致性价比,成为国内用户访问北美低延迟、高稳定性的首选方案,尤其适合对网络质量有严苛要求的开发者和游戏玩家,在VPS租赁市场鱼龙混杂的今天,寻找一款既便宜又稳定的海外服务器并非易事,圣何塞(San Jose)作为硅谷的核心枢纽,其……

    2026年6月29日
    1600
  • 安装了wamp的主机能当服务器吗?wamp配置服务器详细教程

    安装了WAMP的主机完全可以充当服务器,但这取决于具体的应用场景、访问量规模以及对稳定性与安全性的要求,对于个人开发测试、小型企业内部办公系统或低并发的外网展示站点,安装了WAMP的主机不仅能够作为服务器使用,而且具有极高的性价比和部署便利性;但对于高并发、高可用性要求严苛的商业生产环境,单机WAMP方案则存在……

    2026年3月21日
    10900
  • linux http上传失败怎么办?linux下http文件上传教程

    在Linux环境下通过HTTP上传文件,最稳定且通用的方案是使用curl命令配合表单数据,或者利用Nginx/Apache配置Web服务器接收POST请求,具体选择取决于你是作为客户端发送还是服务端接收,很多人提到Linux上传,第一反应是FTP或SFTP,但在现代Web开发和自动化运维中,HTTP协议因其无状……

    2026年7月8日
    6000
  • 30人mc服务器一个月多少钱,哪家便宜?

    对于30人我的世界服务器,一个月费用通常在60元到200元之间,具体取决于配置、服务商和是否包含管理功能, 这个范围可以满足从基础生存服到轻量模组服的需求,但如果你需要更专业的支持或高防IP,成本会相应上升,30人mc服务器一个月的费用范围不同玩法对服务器资源要求差异很大,所以费用从几十元到几百元都有可能,下面……

    2026年7月25日
    1400
  • API设计标准有哪些?API接口规范最佳实践指南

    优质的API设计标准_API不仅是技术实现的规范,更是降低沟通成本、提升系统可维护性的核心基石,一个遵循高标准设计的API,能够显著减少前后端联调时间,增强系统的扩展性与稳定性,最终实现业务价值的快速交付,核心结论在于:优秀的API设计必须遵循RESTful架构风格,坚持接口的幂等性、安全性与版本控制,同时提供……

    2026年3月23日
    11300
  • 服务器主机搭配应用场景怎么选?,什么配置性价比高?

    内存与IOPS是核心数据库服务器(MySQL、SQL Server、Oracle)、高并发Web应用或ERP系统对内存带宽和磁盘随机读写能力要求极高,CPU:高主频优先,4GHz以上更佳,核心数不必太多,8-16核足够,但需要支持大缓存(如Intel Xeon W系列或AMD EPYC 7F系列),内存:容量优……

    2026年8月5日
    1200
  • access数据库求和怎么操作?access求和函数使用方法

    在Access数据库中进行数据求和操作,核心在于灵活运用聚合函数与SQL查询语句,通过图形化界面与代码层面的双重控制,实现从基础的单列求和到复杂的分组统计,这是高效获取Access数据价值的关键技能,Access数据库求和不仅是简单的数学计算,更是数据清洗与决策分析的基础环节,掌握这一技能,能够帮助用户从海量杂……

    2026年3月23日
    10800
  • Linux Redmine重启失败怎么办?Linux Redmine重启命令

    在Linux系统中重启Redmine,核心操作是停止当前运行的服务进程(如Passenger、Puma或Thin),清理缓存,然后重新启动服务,通常通过systemctl或启动脚本完成,Redmine作为企业级项目管理工具,其稳定性直接关系到团队协作的效率,当系统出现页面加载缓慢、插件冲突或配置变更未生效时,重……

    2026年7月6日
    8000
  • Linux system popen怎么用?popen函数具体用法及示例

    管道与进程的生命周期当调用popen时,系统内部会执行三个关键步骤:创建管道、生成子进程、执行命令,父进程通过文件指针与子进程的标准输入或输出相连,这种连接是单向的,取决于打开模式,读写模式的区别“r”模式:读取子进程的标准输出,适合执行如ls、grep等产生文本结果的命令,“w”模式:向子进程的标准输入写入数……

    2026年7月8日
    6000

发表回复

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