命令行方式下的打印操作

作者: empast 2012-04-05 16:03:34
Linux系统提供了一组有关打印的命令。一般情况下,打印命令使用默认打印机。默认打印机是由PRINTER环境设定的。用户也可以在命令行上指定要使用的打印机。

1.lpd命令
lpd命令是假脱机打印命令。该命令将打印作业放到打印缓冲队列中,并向lpd守护进程发送消息,提出打印请求。Lpd扫描“/etc/printcap”文件,查询打印对应的缓冲区目录,然后由lpd控制打印,将需要打印的数据从缓冲区送到打印机上进行打印。
lpd命令的格式为:
lpd[-P printer][#num][数据格式选项][其他选项][name…]
命令中各选项的含义如下:
-p:指定打印机。如果不用此选项,则使用默认打印机或环境变量PRINTER指定的打印机。
-m:打印完毕后发送e-mail。
数据格式选项:对于要打印的文件,指定文件数据的格式,便于lpd进行处理和转换。默认情况下,认为是标准的文本文件。详细情况请参见lpd的帮助。
-#num:打印文件的份数。
name:打印文件名。

2.lpq命令
lpq是缓冲队列检查命令,它通过lpq在缓冲区中检查打印文件,报告指定作业的状态或指定用户的作业。Linux中将每一个打印任务称为一个作业,为它分配一个作业标识号(作业ID),标识一个特定的作业。
Lpq命令的格式为:
Lpq[-l][-p printer][jod#][user…]
命令中各选项的含义如下:
-p:指定一个打印机,否则使用默认打印机。
l:打印作业队列中的所有文件的信息。
Jod:需要查询的打印作业号。
User:指定用户名,查询他的打印作业。
上述参数和选项可以组合使用,以明确查询所要换的打印作业。
对提交的每一个作业,lpq报告用户名、在队列中的级别、组成作业的文件、标识号以及总的打印数据的多少等信息。不带任何参数的lpq命令显示现在队列中的所有作业。

3.lprm命令
lprm命令用于从缓冲队列中删除打印作业。用户可以使用该命令从缓冲队列中删除属于自己的一个或多个打印作业。
Lprm命令的格式为:
lprm[-p printer][-][jod#][user…]
命令中各选项的含义如下:
-p:指定一个打印机,否则使用默认的打印机。
-:删除用户所有的打印作业。
User:删除队列中属于用户“user”的作业(只有超级用户可以这样做)。
jod#:jod是作业号,通过指定作业号“#”删除某个打印作业。
例:如果刚刚提交了若干个文档去打印,忽然发现其中有一个文档需要修改,必须取消对该文档的打印,如何操作呢?
(1)执行“lpql”命令,如果使用用户名和打印机名作进一步的限制更好。之后从该命令的输出结果中可以查询到所要找的文件,记住它的作业号。假设该文件作业名为“job”。
(2)然后,执行“lprmjob”,其中“job”是该作业的作业号,便可以从打印队列中删除对该文件的打印。

相关资讯