ippfind(1) OpenPrinting ippfind(1)

ippfind - یافتن چاپگرهای پروتکل چاپ اینترنتی

ippfind [ options ] regtype[,subtype][.domain.] ... [ expression
... ]
ippfind [ options ] name[.regtype[.domain.]] ... [ expression
... ]
ippfind --help
ippfind --version

دستور ippfind سرویس‌های ثبت‌شده در یک کارساز DNS یا موجود از طریق دستگاه‌های محلی را پیدا می‌کند. هدف اصلی آن یافتن چاپگرهای IPP و نمایش URIهای آن‌ها، نمایش وضعیت فعلی آن‌ها، یا اجرای دستورات است.

دستور ippfind از انواع ثبت زیر پشتیبانی می‌کند:

_http._tcp
پروتکل انتقال ابرمتن (HTTP, RFC 2616)
_https._tcp
پروتکل امن انتقال ابرمتن (HTTPS, RFC 2818)
_ipp._tcp
پروتکل چاپ اینترنتی (IPP, RFC 2911)
_ipps._tcp
پروتکل امن چاپ اینترنتی (IPPS, پیش‌نویس)
_printer._tcp
دیمن چاپگر خطی (LPD, RFC 1179)

دستور ippfind از عبارت‌هایی بسیار شبیه به ابزار find(1) پشتیبانی می‌کند. با این حال، برخلاف find(1)، دستور ippfind به جای الگوهای تطبیق نام فایل پوسته از عبارت‌های منظم POSIX استفاده می‌کند. اگر هیچ‌یک از موارد --exec، -l، --ls، -p، --print، --print-name، -q، --quiet، -s یا -x مشخص نشده باشد، ippfind گزینه --print را برای چاپ URI سرویس هر آنچه پیدا می‌کند اضافه می‌کند. عبارت‌های زیر پشتیبانی می‌شوند:

درست است اگر دامنه با عبارت منظم مشخص‌شده مطابقت داشته باشد.
همیشه نادرست است.
درست است اگر نام میزبان با عبارت منظم مشخص‌شده مطابقت داشته باشد.
صفات برگردانده‌شده توسط Get-Printer-Attributes را برای چاپگرهای IPP و خروجی سنتی "-ls" ابزار find را برای نشانی‌های اینترنتی HTTP فهرست می‌کند. در صورت در دسترس بودن URI، نتیجه درست است و در غیر این صورت نادرست خواهد بود.
درست است اگر سرویس برای این رایانه محلی باشد.
درست است اگر نام نمونه سرویس با نام مشخص‌شده مطابقت داشته باشد.
درست است اگر نام نمونه سرویس با عبارت منظم مشخص‌شده مطابقت داشته باشد.
درست است اگر مسیر منبع URI با عبارت منظم مشخص‌شده مطابقت داشته باشد.
درست است اگر درگاه با شماره یا محدوده داده‌شده مطابقت داشته باشد.
اگر نتیجه عبارت‌های قبلی درست باشد، URI را چاپ می‌کند. نتیجه همیشه درست است.
حالت بی‌صدا - فقط کدهای خروج زیر را بازمی‌گرداند.
درست است اگر سرویس برای این رایانه محلی نباشد.
--print-name
اگر نتیجه عبارت‌های قبلی درست باشد، نام نمونه سرویس را چاپ می‌کند. نتیجه همیشه درست است.
همیشه درست است.
درست است اگر رکورد TXT شامل کلید نام‌برده باشد.
درست است اگر رکورد TXT شامل کلید نام‌برده باشد و با عبارت منظم مشخص‌شده مطابقت داشته باشد.
درست است اگر URI با عبارت منظم مشخص‌شده مطابقت داشته باشد.
اگر نتیجه فعلی درست باشد، برنامه مشخص‌شده را اجرا می‌کند. آرگومان‌های "{foo}" با مقدار متناظر جایگزین می‌شوند - بخش «جایگزینی‌ها» را در زیر ببینید.

عبارت‌ها همچنین می‌توانند شامل اصلاح‌کننده‌ها باشند:

( expression )
گروه‌بندی نتیجه عبارت‌ها.
! expression
نقیض (NOT) یکانی عبارت.
عطف منطقی (AND) عبارت‌ها.
فصل منطقی (OR) عبارت‌ها.

موارد جایگزین برای "{foo}" در -e و --exec عبارتند از:

{service_domain}
نام دامنه، برای مثال "example.com."، "local." و غیره.
{service_hostname}
نام دامنه کاملاً واجد شرایط، برای مثال "printer.example.com."، "printer.local." و غیره.
{service_name}
نام نمونه سرویس، برای مثال "My Fine Printer".
{service_port}
شماره درگاه برای کارساز، معمولاً ۶۳۱ برای IPP و ۸۰ برای HTTP.
{service_regtype}
نوع ثبت DNS-SD، برای مثال "_ipp._tcp"، "_http._tcp" و غیره.
{service_scheme}
طرحواره (scheme) URI برای نوع ثبت DNS-SD، برای مثال "ipp"، "http" و غیره.
{}
{service_uri}
نشانی URI برای سرویس، برای مثال "ipp://printer.local./ipp/print"، "http://printer.local./" و غیره.
{txt_key}
مقدار کلید key در رکورد TXT (با حروف کوچک).

دستور ippfind از گزینه‌های زیر پشتیبانی می‌کند:

نمایش راهنمای برنامه.
نمایش نسخه برنامه.
-4
استفاده از IPv4 هنگام فهرست‌کردن.
-6
استفاده از IPv6 هنگام فهرست‌کردن.
مشخص کردن زمان انتظار جستجو بر حسب ثانیه. اگر ۱ یا کمتر باشد، ippfind به محض اینکه فرض کند همه چیز را پیدا کرده است متوقف می‌شود. زمان انتظار پیش‌فرض ۱ ثانیه است.
نسخه IPP را هنگام فهرست کردن مشخص می‌کند. مقادیر پشتیبانی‌شده عبارتند از "1.1"، "2.0"، "2.1" و "2.2".

دستور ippfind اگر نتیجه برای تمام عبارت‌های پردازش‌شده درست باشد مقدار 0، اگر نتیجه هر یک از عبارت‌های پردازش‌شده نادرست باشد مقدار 1، اگر مرور یا هر پرس‌وجو یا حل آدرس شکست بخورد مقدار 2، اگر یک گزینه تعریف‌نشده یا عبارت نامعتبر مشخص شده باشد مقدار 3، و اگر حافظه تمام شود مقدار 4 را برمی‌گرداند.

هنگام اجرای یک برنامه، ippfind متغیرهای محیطی زیر را برای ثبت سرویس منطبق تنظیم می‌کند:

نام دامنه، برای مثال "example.com."، "local." و غیره.
نام دامنه کاملاً واجد شرایط، برای مثال "printer.example.com."، "printer.local." و غیره.
نام نمونه سرویس، برای مثال "My Fine Printer".
شماره درگاه برای کارساز، معمولاً ۶۳۱ برای IPP و ۸۰ برای HTTP.
نوع ثبت DNS-SD، برای مثال "_ipp._tcp"، "_http._tcp" و غیره.
طرحواره URI برای نوع ثبت DNS-SD، برای مثال "ipp"، "http" و غیره.
نشانی URI برای سرویس، برای مثال "ipp://printer.local./ipp/print"، "http://printer.local./" و غیره.
مقادیر کلید KEY در رکورد TXT (با حروف بزرگ).

برای نمایش وضعیت تمام چاپگرهای IPP ثبت‌شده در شبکه خود، اجرا کنید:

ippfind --ls

مشابهاً، برای ارسال یک صفحه آزمایشی PostScript به تمام چاپگرهای PostScript، اجرا کنید:

ippfind --txt-pdl application/postscript --exec ipptool
  -f onepage-letter.ps '{}' print-job.test \;

ipptool(1)

Copyright © 2020-2024 by OpenPrinting.

ippsample 2021-02-28