首页 > 综合 > 正文

命令行怎么查看已安装的打印机?Windows、macOS 与 Linux 实用方

2026-10-25 03:41:42 · 斜风细雨网 · 休闲 · 阅读 232

很多人习惯在系统设置里点开“打印机和扫描仪”看设备列表,命令但一旦遇到远程排障、行查批量部署、看已脚本巡检,安装或者图形界面打不开的印机用方情况,命令行就成了更可靠的命令选择。命令行怎么查看已安装的行查打印机,本质上不是看已一条通用命令,而是安装先分清操作系统,再选对工具。印机用方本文按 Windows、命令macOS、行查Linux 三类环境给出可直接复制的看已查询方式,并说明每类命令的安装输出含义、常见报错和核对要点,印机用方帮助你快速确认打印机是否已被系统识别、队列是否正常。

需要先明确一点:命令行查到的通常是“系统已注册的打印机或打印队列”,不等于打印机当前一定在线、也不等于驱动完全正常。查到名称只说明系统里存在这条记录;能否真正打印,还要看端口、驱动和连接状态。下面的方法都来自系统自带工具,不依赖第三方软件,涉及具体界面名称时,以你所用系统版本的实际显示为准。

Windows:用 WMIC 和 PowerShell 查看打印机

Windows 的传统做法是使用 WMIC。按 Win+R 输入 cmd 打开命令提示符,执行 wmic printer get name,default,portname,printerstatus。输出会列出打印机名称、是否为默认打印机、端口名和状态码。缺点是 WMIC 在新版 Windows 中已逐步弃用,部分系统会提示“不是内部或外部命令”,这时应改用 PowerShell。

PowerShell 是当前更推荐的入口。打开 PowerShell 后执行 Get-Printer,可看到 Name、DriverName、PortName、PrinterStatus 等字段;只看名称可用 Get-Printer | Select-Object Name。如果只想确认默认打印机,执行 Get-Printer | Where-Object { $_.Default -eq $true}。若提示“无法识别 Get-Printer”,说明系统缺少打印管理模块,可先运行 Get-WindowsFeature Print-Services 检查组件,或在“启用或关闭 Windows 功能”中确认打印服务已开启。

另一个常用组合是查看打印队列:Get-PrintJob -PrinterName "打印机名称",能列出待打印任务。若命令返回空值,通常表示队列里没有卡住的任务,而非打印机不存在。需要提醒的是,Windows 家庭版与专业版在打印管理组件上可能有差异,遇到模块缺失时,以系统实际提示和官方文档为准,不要盲目安装来源不明的命令行工具。

macOS:lpstat 与系统打印服务

macOS 基于 CUPS 打印系统,终端里最直接的命令是 lpstat -p -d。其中 -p 列出所有已配置的打印机及其状态,-d 显示当前默认打印机。如果输出为空,可能是尚未添加任何打印机,或者当前用户没有访问打印服务的权限。此时可先执行 lpstat -a 查看接受任务的队列,再执行 lpstat -t 获取更完整的汇总信息,包括设备、调度器和默认目标。

想进一步查看某台打印机的详细配置,可用 lpoptions -p 打印机名称 -l,它会列出纸张、双面、分辨率等可选项。若命令提示“lpstat: command not found”,一般说明终端环境变量异常,可尝试用完整路径 /usr/bin/lpstat -p。在 macOS 上,命令行结果与“系统设置—打印机与扫描仪”里的列表应保持一致;如果两者不一致,优先以系统设置为准,再回到终端排查权限或缓存问题。

Linux:CUPS 环境下的 lpstat 与 lpinfo

大多数 Linux 发行版同样使用 CUPS,命令与 macOS 接近。先执行 lpstat -p -d 查看打印机和默认目标;如果提示服务未运行,可检查 systemctl status cups 确认 CUPS 是否启动。需要查看系统已发现但尚未添加的设备,可用 lpinfo -v,它会列出可用后端和连接方式,例如 usb、ipp、socket 等,这对判断打印机是否被系统“看见”很有帮助。

若你在服务器或无图形界面的环境中工作,还可用 lpstat -s 查看调度器信息,用 lpq -P 打印机名称 查看指定队列的任务。不同发行版的包管理命令不同,例如 Debian/Ubuntu 系与 Red Hat 系在安装 CUPS 客户端时写法不一样;遇到命令缺失,先确认 cups-client 是否已安装,具体包名和安装方式以你所用发行版的官方仓库说明为准。

查不到打印机时,按这个顺序排查

第一步,确认命令本身是否可用:Windows 优先用 PowerShell 的 Get-Printer,macOS 与 Linux 优先用 lpstat。第二步,确认打印服务是否运行:Windows 检查 Print Spooler 服务,macOS 与 Linux 检查 CUPS 服务。第三步,确认连接层:USB 是否被识别、网络打印机 IP 是否可达,可用 ping 或系统自带网络工具验证。第四步,确认权限:部分系统需要管理员权限才能看到全部队列。

还要区分“已安装”和“已连接”。命令行里出现打印机名称,说明系统里存在配置记录;如果状态显示为离线、暂停或错误,问题往往在驱动、端口或网络,而不是查询命令本身。此时可先用 Get-PrintJob 或 lpq 看是否有卡住的任务,再清理队列后重试。对于政务、医疗等对打印有合规要求的场景,命令行结果只作为技术排查参考,最终以单位信息部门和设备厂商的官方说明为准。

总结一下:Windows 用 Get-Printer,macOS 和 Linux 用 lpstat -p -d,需要看设备发现情况再加 lpinfo -v。把这几条命令记在排障清单里,下次再遇到“命令行怎么查看已安装的打印机”,就能先定位系统、再读输出、最后按服务、连接、权限三层逐一核对,避免在图形界面里反复点选却找不到问题根源。