Linux lpd 命令实战示例

LinuxBeginner
立即练习

介绍

在本实验中,我们将探索 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。我们将学习如何配置 lpd 守护进程、管理打印任务以及执行各种与打印相关的操作。实验内容包括 lpd 命令的介绍、配置 lpd 守护进程以及使用 lpd 管理打印任务。提供的步骤包括检查 lpd 服务的状态、创建并启用新的打印队列,以及使用 lpstat 和 lprm 等命令来管理打印过程。

Linux 命令速查表

lpd 命令介绍

在这一步中,我们将探索 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。lpd 命令负责处理打印过程,包括接受打印请求、管理打印队列以及与打印机通信。

首先,让我们检查 Ubuntu 22.04 Docker 容器中 lpd 服务的状态:

sudo systemctl status lpd

示例输出:

● lpd.service - LPD Line Printer Daemon
     Loaded: loaded (/lib/systemd/system/lpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-04-21 12:34:56 UTC; 1min 23s ago
   Main PID: 1234 (lpd)
     Tasks: 1 (limit: 4915)
    Memory: 1.1M
    CGroup: /system.slice/lpd.service
            └─1234 /usr/sbin/lpd

如我们所见,lpd 服务在系统中处于活动状态并正在运行。lpd 守护进程负责管理打印过程,包括接受打印请求、管理打印队列以及与打印机通信。

接下来,让我们探索一些与 lpd 服务交互的基本命令:

## 列出可用的打印队列
sudo lpstat -a

## 查看打印队列的状态
sudo lpstat -t

## 取消打印任务
sudo lprm job_id

这些命令允许你查看可用的打印队列、检查打印队列的状态以及取消特定的打印任务。

配置 lpd 守护进程

在这一步中,我们将学习如何在 Ubuntu 22.04 Docker 容器中配置 lpd(Line Printer Daemon)服务。

首先,让我们创建一个新的打印队列。我们将使用 lpadmin 命令创建一个名为 "myprinter" 的新打印队列:

sudo lpadmin -p myprinter -v file:/dev/null -P /usr/share/ppd/cups-pdf.ppd -E

此命令创建了一个名为 "myprinter" 的新打印队列,并将其与 CUPS-PDF 虚拟打印机驱动程序关联。

接下来,让我们启用新的打印队列:

sudo enable-printer myprinter

现在,让我们验证新打印队列是否已创建并启用:

sudo lpstat -a

示例输出:

myprinter accepting requests since Mon 01 Jan 2001 12:00:00 AM UTC

输出显示 "myprinter" 队列现在正在接受打印请求。

为了进一步配置 lpd 服务,我们可以编辑 /etc/printcap 文件,这是 lpd 服务的配置文件。该文件包含有关可用打印队列、其设置和其他配置选项的信息。

使用 nano 文本编辑器打开 /etc/printcap 文件:

sudo nano /etc/printcap

在文件中,你可以添加或修改打印队列的条目。例如,你可以设置默认打印机、配置打印机选项或指定打印机的位置。

完成更改后,保存文件并重启 lpd 服务:

sudo systemctl restart lpd

这将把新的配置更改应用到 lpd 服务中。

使用 lpd 管理打印任务

在这最后一步中,我们将学习如何使用 lpd 命令管理打印任务。

首先,让我们创建一个示例文本文件用于打印:

echo "This is a test print job." > ~/project/test_print.txt

现在,我们将文件提交到 "myprinter" 打印队列:

lpr ~/project/test_print.txt

这将把 "test_print.txt" 文件发送到 "myprinter" 打印队列进行打印。

要查看队列中的当前打印任务,可以使用 lpq 命令:

sudo lpq myprinter

示例输出:

myprinter is ready
Rank   Owner   Job     File(s)                         Total Size
active labex   123     test_print.txt                  24 bytes

输出显示 "test_print.txt" 文件当前正在作为任务 123 进行打印。

如果你需要取消打印任务,可以使用 lprm 命令:

sudo lprm 123

这将取消 ID 为 123 的打印任务。

最后,让我们再次检查打印队列以验证任务是否已被移除:

sudo lpq myprinter

示例输出:

myprinter is ready
no entries

输出显示打印队列现在为空,表明打印任务已成功取消。

总结

在本实验中,我们探索了 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。我们学习了如何检查 lpd 服务的状态、列出可用的打印队列、查看打印队列的状态以及取消特定的打印任务。接着,我们通过创建一个新的打印队列并将其与 CUPS-PDF 虚拟打印机驱动程序关联来配置 lpd 守护进程,并启用了新的打印队列。这些步骤为在 Linux 系统上管理打印过程提供了坚实的基础。

Linux 命令速查表