Özet
ippfind [ seçenekler ] kayıt_türü[,alt_tür][.alan_adı.] ... [ ifade ... ]
ippfind [ seçenekler ] ad[.kayıt_türü[.alan_adı.]] ... [ ifade ... ]
ippfind --help
ippfind --version
Açıklama
ippfind, bir DNS sunucusuna kayıtlı olan veya yerel aygıtlar aracılığıyla kullanılabilen servisleri bulur. Birincil amacı, IPP yazıcılarını bulmak ve bunların URI'lerini göstermek, mevcut durumlarını göstermek veya komutları çalıştırmaktır.
Kayıt Türleri
ippfind aşağıdaki kayıt türlerini destekler:
_http._tcp Köprü Metni Aktarım Protokolü (HyperText Transport Protocol - HTTP, RFC 2616)
_https._tcp Güvenli Köprü Metni Aktarım Protokolü (Secure HyperText Transport Protocol - HTTPS, RFC 2818)
_ipp._tcp İnternet Yazdırma Protokolü (Internet Printing Protocol - IPP, RFC 2911)
_ipps._tcp Güvenli İnternet Yazdırma Protokolü (Secure Internet Printing Protocol - IPPS, taslak)
_printer._tcp Satır Yazıcı Arka Plan Programı (Line Printer Daemon - LPD, RFC 1179)
İfadeler
ippfind, tıpkı find(1) yardımcı programı gibi ifadeleri destekler. Ancak find(1)'den farklı olarak ippfind, kabuk dosya adı eşleştirme kalıpları yerine POSIX düzenli ifadelerini (regular expressions) kullanır. Eğer --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s veya -x belirtilmemişse, ippfind bulduğu her şeyin servis URI'sini yazdırmak için
--print seçeneğini ekler.: Aşağıdaki ifadeler desteklenmektedir:
-d düzenli_ifade
--domain düzenli_ifade Alan adı (domain) belirtilen düzenli ifadeyle eşleşiyorsa doğrudur.
--false Her zaman yanlıştır.
-h düzenli_ifade
--host düzenli_ifade Ana bilgisayar adı (hostname) belirtilen düzenli ifadeyle eşleşiyorsa doğrudur.
-l
--ls IPP yazıcıları için Get-Printer-Attributes tarafından döndürülen öznitelikleri ve HTTP URL'leri için geleneksel find "-ls" çıktısını listeler. URI erişilebilirse sonuç doğru, aksi takdirde yanlıştır.
--local Servis bu bilgisayara yerelse doğrudur.
-N ad
--literal-name ad Servis örneği adı belirtilen adla tam olarak eşleşiyorsa doğrudur.
-n düzenli_ifade
--name düzenli_ifade Servis örneği adı belirtilen düzenli ifadeyle eşleşiyorsa doğrudur.
--path düzenli_ifade URI kaynak yolu belirtilen düzenli ifadeyle eşleşiyorsa doğrudur.
-P numara[-numara]
--port numara[-numara] Port belirtilen numara veya aralıkla eşleşiyorsa doğrudur.
-p
--print Önceki ifadelerin sonucu doğruysa URI'yi yazdırır. Sonuç her zaman doğrudur.
-q
--quiet Sessiz mod - yalnızca aşağıdaki çıkış kodlarını döndürür.
-r
--remote Servis bu bilgisayara yerel değilse doğrudur.
-s
--print-name Önceki ifadelerin sonucu doğruysa servis örneği adını yazdırır. Sonuç her zaman doğrudur.
--true Her zaman doğrudur.
-t anahtar
--txt anahtar TXT kaydı belirtilen anahtarı içeriyorsa doğrudur.
--txt-key düzenli_ifade TXT kaydı belirtilen anahtarı içeriyorsa ve bu anahtar verilen düzenli ifadeyle eşleşiyorsa doğrudur.
-u düzenli_ifade
--uri düzenli_ifade URI belirtilen düzenli ifadeyle eşleşiyorsa doğrudur.
-x yardımcı_program [ argüman ... ] ;
--exec yardımcı_program [ argüman ... ] ; Mevcut sonuç doğruysa belirtilen programı çalıştırır. "{foo}" argümanları karşılık gelen değerlerle değiştirilir - aşağıdaki YER DEĞİŞTİRMELER (SUBSTITUTIONS) bölümüne bakın.
İfadeler ayrıca niteleyiciler içerebilir:
( ifade ) İfadelerin sonucunu gruplar.
! ifade
--not ifade İfadenin tekli (unary) DEĞİL'idir.
ifade ifade
ifade --and ifade İfadelerin mantıksal VE (AND) işlemidir.
ifade --or ifade İfadelerin mantıksal VEYA (OR) işlemidir.
Yer Değiştirmeler
-e ve --exec içindeki "{foo}" için yer değiştirmeler şunlardır:
{service_domain} Alan adı (domain), örn. "example.com.", "local.", vb.
{service_hostname} Tam nitelikli alan adı (FQDN), örn. "printer.example.com.", "printer.local.", vb.
{service_name} Servis örneği adı, örn. "My Fine Printer".
{service_port} Sunucu için port numarası, IPP için genellikle 631 ve HTTP için 80.
{service_regtype} DNS-SD kayıt türü, örn. "_ipp._tcp", "_http._tcp", vb.
{service_scheme} DNS-SD kayıt türü için URI şeması, örn. "ipp", "http", vb.
{}
{service_uri} Servis için URI, örn. "ipp://printer.local./ipp/print", "http://printer.local./", vb.
{txt_key} TXT kaydı anahtarının değeri (küçük harfli).
Seçenekler
ippfind aşağıdaki seçenekleri destekler:
--help Program yardımını gösterir.
--version Program sürümünü gösterir.
-4: Listelerken IPv4 kullanır.-6: Listelerken IPv6 kullanır.
-T saniye Arama zaman aşımını saniye cinsinden belirtir. 1 veya daha az ise ippfind her şeyi bulduğunu düşündüğü anda durur. Varsayılan zaman aşımı 1 saniyedir.
-V sürüm Listelerken IPP sürümünü belirtir. Desteklenen değerler "1.1", "2.0", "2.1" ve "2.2"dir.
Çıkış Durumu
ippfind, işlenen tüm ifadelerin sonucu doğruysa 0; işlenen herhangi bir ifadenin sonucu yanlışsa 1; göz atma (browsing), herhangi bir sorgu veya çözümleme başarısız olduysa 2; tanımsız bir seçenek veya geçersiz bir ifade belirtildiyse 3 ve bellek yetersiz kaldıysa 4 değerini döndürür.
Çevre
Bir programı çalıştırırken ippfind, eşleşen servis kaydı için aşağıdaki çevre değişkenlerini ayarlar:
IPPFIND_SERVICE_DOMAIN Alan adı (domain), örn. "example.com.", "local.", vb.
IPPFIND_SERVICE_HOSTNAME Tam nitelikli alan adı (FQDN), örn. "printer.example.com.", "printer.local.", vb.
IPPFIND_SERVICE_NAME Servis örneği adı, örn. "My Fine Printer".
IPPFIND_SERVICE_PORT Sunucu için port numarası, IPP için genellikle 631 ve HTTP için 80.
IPPFIND_SERVICE_REGTYPE DNS-SD kayıt türü, örn. "_ipp._tcp", "_http._tcp", vb.
IPPFIND_SERVICE_SCHEME DNS-SD kayıt türü için URI şeması, örn. "ipp", "http", vb.
IPPFIND_SERVICE_URI Servis için URI, örn. "ipp://printer.local./ipp/print", "http://printer.local./", vb.
IPPFIND_TXT_KEY TXT kaydı ANAHTARININ değerleri (büyük harfli).
Örnekler
Ağınızdaki tüm kayıtlı IPP yazıcılarının durumunu göstermek için şunu çalıştırın:
ippfind --ls
Benzer şekilde, her PostScript yazıcısına bir PostScript test sayfası göndermek için şunu çalıştırın:
ippfind --txt-pdl application/postscript --exec ipptool \
-f onepage-letter.ps '{}' print-job.test \;
Ayrıca Bakınız
ipptool(1)
Telif Hakkı
Copyright © 2013-2019 by Apple Inc.
26 April 2019 ippsample ippfind(1)