Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux lpadmin 命令。

1、命令简介

lpadmin:用于管理 CUPS 打印系统的打印机和打印队列配置。CUPS 是一种通用的打印系统,用于管理打印任务和打印机。配置lp打印服务。

2、命令语法

 lpadmin [ -E ] [-U username ] [ -h server[:port] ] -d destination 
lpadmin [ -E ] [-U username ] [ -h server[:port] ] -p destination 
   [ -R name-default ] option(s) 
lpadmin [ -E ] [-U username ] [ -h server[:port] ] -x destination

3、命令描述

lpadmin 用于配置由通用打印系统 CUPS 提供的打印机和打印队列。它还可以用于设置服务器默认打印机或类别。当在 -d-p-x 选项之前指定时,-E 选项会在连接到服务器时强制进行加密。命令的第一种形式(-d)将默认打印机或类别设置为目标。通过 lp 或 lpr 命令提交的后续打印作业将使用此目标,除非用户使用 lpoptions 命令另行指定。命令的第二种形式(-p)配置指定的打印机或类别。下面描述了其他选项。命令的第三种形式(-x)删除打印机或类别目标。任何待处理的目标作业都将被删除,当前正在打印的作业将被中止。

4、命令选项

选项

描述

-c class

将指定的打印机添加到类别。

如果类别不存在,系统会自动创建。

-i interface

为打印机设置 System V 风格的接口脚本。

无法与 -P 选项(PPD 文件)同时使用,

用于支持传统打印机驱动。

-m model

从模型目录设置标准的 System V 接口脚本

或 PPD 文件,或使用其中一个驱动接口。

使用 lpinfo 命令的 -m 选项获取支持的模型列表。

-o cupsIPPSupplies=true

-o cupsIPPSupplies=false

-o job-k-limit=value

设置每用户配额的千字节限制。

值为千字节的整数;

一个千字节等于 1024 字节。

-o job-page-limit=value

设置每用户配额的页面限制。

值为可打印的整数页数;

双面打印的页面将计为两页。

-o job-quota-period=value

设置每用户配额的计费周期。

值为秒数的整数;一天有 86,400 秒。

-o job-sheets-default=banner

-o job-sheets-default=banner,banner

-o name=value

为打印机设置 PPD 选项。

可以使用 lpoptions 命令的 -l 选项列出 PPD 选项。

-o name-default=value

为目标设置默认的服务器端选项。可以设置任何打印时的选项。

-o port-monitor=name

设置打印时使用的二进制通信程序,"none"、"bcp" 或 "tbcp"。

默认程序为 "none"。

指定的端口监视程序必须在打印机的 PPD 文件中列出。

-o printer-error-policy=name

设置当打印机后端无法将作业发送到打印机时使用的错误策略。

名字必须是 "abort-job"、"retry-job"、

"retry-current-job" 或 "stop-printer" 之一。

-o printer-is-shared=[true|false]

设置目标是否共享/发布或不共享/不发布。

共享/发布的目标会根据 cupsd.conf 中的浏览

配置在 LAN 上由服务器公开宣布,

而不共享/不发布的目标则不会。

-o printer-op-policy=name

设置与目标关联的 IPP 操作策略。

名字必须在 cupsd.conf 中的 Policy 部分中定义。

默认操作策略为 "default"。

-R name-default

从打印机中删除指定的选项。

-r class

从类别中移除指定的打印机。

如果类别变为空,类别会被移除。

-u allow:user,user,@group

-u deny:user,user,@group

-v "device-uri"

设置打印队列的 device-uri 属性。

使用 lpinfo 命令的 -v 选项

获取支持的设备 URI 和方案列表。

-D "info"

提供目标的文本描述。

-E

启用目标并接受作业;

等同于在目标上运行 cupsaccept

和 cupsenable 程序。

-L "location"

提供目标的文本位置。

-P ppd-file

指定要与打印机一起使用的 PostScript Printer Description 文件。

如果指定了此选项,

将覆盖 -i 选项(接口脚本)。

5、使用示例

1)要添加名为 "HPLaserJetP3015" 的新网络打印机,请使用以下方式使用 lpadmin 命令并使用 -p 选项

# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P 
/usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd

输出:

 # lpstat -v
 device for HPLaserJetP3015: socket://19.86.82.172
 To verify if the printer is configured currently, you can use the command as shown in the below example:

 # lpstat -p HPLaserJetP3015 -l
 printer HPLaserJetP3015 is idle.  enabled since Sun Jan 11 16:11:41 2015

2)要在并行端口(/dev/lp0)上配置打印机,请使用以下示例中的 lpadmin 命令

# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m 
/usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd 

3)使用 lpinfo 命令可以列出所有可用于配置打印机的端口或接口:

# lpinfo -v
network socket
direct hp
network http
network ipp
network lpd
direct parallel:/dev/lp0
direct scsi
network tpvmgp
network tpvmlp
network smb

4)要将打印机添加到类别中,请使用以下命令:

# lpadmin -h localhost -p HPLaserJetP3015 -c myclass

要验证打印机是否在打印机类别中:

 # lpstat -c myclass
 members of class myclass:
 HPLaserJetP3015 

5)要从类别中删除打印机,可以使用以下命令:

 # lpstat -c myclass
 members of class myclass:
 HPLaserJetP3015
 HPDESKJET882
 Remove the HPDESKJET882 printer from myclass as shown below:

 # lpadmin -p HPDESKJET882 -r myclass
 Once you remove it, you’ll see only the HP Laser Jet Printer:

 # lpstat -c myclass
 members of class myclass:
 HPLaserJetP3015

6)使用 -x 选项可以删除类别,如下所示:

 # lpstat -c myclass
 members of class myclass:
 HPLaserJetP3015

 # lpadmin -x myclass

 # lpstat -c myclass
 lpstat: Unknown destination "myclass"!
 
 Please note that the printer configuration still exists even if you removed the class.

7)要将打印机的分辨率更改为 300x300dpi,可以使用以下 lpadmin 命令:

# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi

 # lpoptions -p HPLaserJetP3015 -l 

8)要从打印机配置文件中删除 CUPS 打印机,可以使用 -x 选项:

 # lpstat -v
 device for HPLaserJetP3015: socket://19.86.82.172

 # lpadmin -x HPLaserJetP3015

 # lpstat -v
 lpstat: No destinations added.

9)允许/拒绝用户或组配置打印机选项:

 # lpadmin -p HPLaserJetP3015 -u allow:karthik
 # lpadmin -p HPLaserJetP3015 -u deny:karthik

 The following will allow users from sysadmin group to configure printer options:
 
     # lpadmin -p HPLaserJetP3015 -u allow:@sysadmin

 The following will deny users from developer group to configure printer options:
 
     # lpadmin -p HPLaserJetP3015 -u deny:@developer

推荐文档