DICT(1) DICT(1)

dict - کلاینت پروتکل DICT

dict word
dict [options] [word]
dict [options] dict://host:port/d:word:database
dict [options] dict://host:port/m:word:database:strategy

dict یک کلاینت برای پروتکل کارساز واژه‌نامه (DICT) است؛ یک پروتکل پرس‌وجو/پاسخ مبتنی بر تراکنش TCP که دسترسی به تعاریف واژه‌نامه‌ای را از مجموعه‌ای از پایگاه‌های داده واژه‌نامه زبان طبیعی فراهم می‌کند. وضعیت خروج در صورت موفقیت‌آمیز بودن عملیات 0 و در غیر این صورت مقداری غیر صفر است.
بخش وضعیت خروج (EXIT STATUS) را ببینید.

نام میزبان را برای کارساز DICT مشخص می‌کند. ترکیب‌های کارساز/درگاه می‌توانند در فایل پیکربندی تعیین شوند. اگر هیچ کارسازی در فایل پیکربندی یا در خط فرمان مشخص نشده باشد، dict با شکست مواجه خواهد شد. اگر جستجوی IP برای یک کارساز به فهرستی از نشانی‌های IP گسترش یابد (همان‌طور که در حال حاضر dict.org عمل می‌کند)، هر IP به ترتیب فهرست‌شده آزمایش خواهد شد.
درگاه (مانند 2628) یا سرویس (مانند dict) را برای اتصال‌ها مشخص می‌کند. پیش‌فرض 2628 است، همان‌طور که در RFC پروتکل DICT مشخص شده است. ترکیب‌های کارساز/درگاه می‌توانند در فایل پیکربندی تعیین شوند.
یک پایگاه داده خاص را برای جستجو تعیین می‌کند. حالت پیش‌فرض، جستجو در تمام پایگاه‌های داده است ("*" در پروتکل DICT). توجه داشته باشید که "!" در پروتکل DICT به معنای جستجو در تمام پایگاه‌های داده تا زمان یافتن یک تطابق و سپس توقف جستجو است.
به جای چاپ یک تعریف، یک تطابق را با استفاده از راهبرد مشخص‌شده انجام می‌دهد.
یک راهبرد تطابق را مشخص می‌کند. به‌طور پیش‌فرض از راهبرد تطابق پیش‌فرض کارساز استفاده می‌شود. این معمولاً برای تعاریف "exact" و برای تطابق‌ها نوعی راهبرد تصحیح املایی است ("." در پروتکل DICT). راهبردهای موجود به پیاده‌سازی کارساز بستگی دارند. برای دیدن فهرستی از راهبردهای در دسترس، گزینه -S یا --strats را ببینید.
معمولاً اگر تعریفی درخواست شود و واژه یافت نشود، تصحیح املایی از کارساز درخواست شده و فهرستی از واژه‌های احتمالی ارائه می‌شود. این گزینه تولید این فهرست را غیرفعال می‌کند.
فایل پیکربندی را مشخص می‌کند. حالت پیش‌فرض این است که ~/.dictrc و /etc/dict/dict.conf آزموده شوند و نخستین فایلی که وجود دارد استفاده شود. اگر یک فایل پیکربندی خاص تعیین شود، موارد پیش‌فرض آزموده نخواهند شد.
از کارساز پرس‌وجو کرده و فهرستی از پایگاه‌های داده در دسترس را نمایش می‌دهد.
از کارساز پرس‌وجو کرده و فهرستی از راهبردهای جستجوی در دسترس را نمایش می‌دهد.
از کارساز پرس‌وجو کرده و اطلاعات راهنمایی را که ارائه می‌دهد نمایش می‌دهد.
اطلاعات مربوط به پایگاه داده مشخص‌شده را درخواست می‌کند (معمولاً کارساز اطلاعات منشأ، توصیفی یا اطلاعات دیگری را درباره پایگاه داده یا محتویات آن ارائه می‌دهد).
از کارساز پرس‌وجو کرده و اطلاعات مربوط به کارساز را نمایش می‌دهد.
دستور OPTION MIME را به کارساز ارسال می‌کند.
نکته: قابلیت‌های کارساز بررسی نمی‌شوند.
خروجی قالب‌بندی‌شده را فعال می‌کند، یعنی خروجی مناسب برای پردازش‌های بعدی توسط ابزارهای استاندارد UNIX. خیر، این خروجی XML نیست ;-) همچنین پیام‌های خطا و هشدار مانند " No matches...", " Invalid strategy..." و غیره به جای stdout به stderr ارسال می‌شوند.
قالب:
-I, -i, -H و موارد مشابه:
host<TAB>port
<SPC><SPC>line1
<SPC><SPC>line2
...
-S:
host<TAB>port<TAB>strategy1<TAB>short description1
host<TAB>port<TAB>strategy2<TAB>short description2
...
-D:
host<TAB>port<TAB>database1<TAB>database description1
host<TAB>port<TAB>database2<TAB>database description2
...
-m:
host<TAB>port<TAB>database1<TAB>match1
host<TAB>port<TAB>database2<TAB>match2
...
احراز هویت را غیرفعال می‌کند (یعنی دستور AUTH ارسال نمی‌شود).
نام کاربری را برای احراز هویت تعیین می‌کند.
راز مشترک (shared secret) را برای احراز هویت تعیین می‌کند.
اطلاعات نگارش را نمایش می‌دهد.
اطلاعات کپی‌رایت و پروانه را نمایش می‌دهد.
-4
دستور dict را وادار می‌کند تا تنها از نشانی‌های IPv4 استفاده کند.
-6
دستور dict را وادار می‌کند تا تنها از نشانی‌های IPv6 استفاده کند.
اطلاعات راهنما را نمایش می‌دهد.
نمایش با جزئیات بیشتر.
بسیار با جزئیات: نمایش تعامل خام کلاینت/کارساز.
اندازه بافر را برای خط لوله‌سازی دستورها مشخص می‌کند. مقدار پیش‌فرض 256 است که باید برای کارهای عمومی کافی بوده و برای بیشتر رسانه‌های انتقال کمتر از MTU باشد. مقادیر بزرگ‌تر بسته به MTU ممکن است بازدهی سریع‌تر یا کندتری ارائه دهند. اگر بافر خیلی کوچک باشد، درخواست‌ها متوالی (serialized) خواهند شد. مقادیر کمتر از 0 و بزرگ‌تر از یک میلیون بدون هشدار به مقداری معقول‌تر تغییر می‌یابند.
متن اضافه‌ای را مشخص می‌کند که باید با دستور CLIENT ارسال شود.
یک پرچم اشکال‌زدایی را تنظیم می‌کند. پرچم‌های معتبر عبارتند از:
همانند -v یا --verbose.
همانند -r یا --raw.
اشکال‌زدایی پویشگر (scanner) فایل پیکربندی.
اشکال‌زدایی تجزیه‌کننده (parser) فایل پیکربندی.
اشکال‌زدایی پشتیبانی از خط لوله TCP (به RFC پروتکل DICT و RFC1854 مراجعه کنید).
غیرفعال کردن پشتیبانی از خط لوله‌سازی.
انجام زمان‌سنجی تراکنش‌ها.

فایل پیکربندی در حال حاضر ساختار بسیار ساده‌ای دارد. خطوط برای تعیین کارسازها استفاده می‌شوند، برای مثال:

server dict.org
یا به همراه گزینه‌ها:
server dict.org { port 8080 }
server dict.org { user username secret }
server dict.org { port dict user username secret }
گزینه‌های port و user می‌توانند به هر ترتیبی مشخص شوند. گزینه port برای تعیین درگاه اختیاری (مانند 2628) یا سرویس (مانند dict) برای اتصال TCP/IP استفاده می‌شود. گزینه user برای تعیین نام کاربری و راز مشترک جهت استفاده در احراز هویت در این کارساز خاص به کار می‌رود.

کارسازها به ترتیب فهرست‌شده آزمایش می‌شوند تا زمانی که یک اتصال برقرار شود.


0 پایان موفقیت‌آمیز


20 تطابقی یافت نشد
21 تطابق‌های تقریبی پیدا شد
22 هیچ پایگاه داده‌ای در دسترس نیست
23 هیچ راهبردی در دسترس نیست


30 کد پاسخ غیرمنتظره از کارساز
31 کارساز موقتاً در دسترس نیست
32 کارساز در حال خاموش شدن است
33 خطای نحوی، دستور ناشناخته است
34 خطای نحوی، پارامترهای نامعتبر
35 دستور پیاده‌سازی نشده است
36 پارامتر دستور پیاده‌سازی نشده است
37 دسترسی رد شد
38 احراز هویت ناموفق بود
39 پایگاه داده نامعتبر است
40 راهبرد نامعتبر است
41 اتصال به کارساز ناموفق بود

dict توسط Rik Faith (faith@cs.unc.edu) نوشته شده و تحت شرایط پروانه عمومی همگانی گنو (GPL) توزیع می‌شود. اگر نیاز دارید تحت شرایط دیگری آن را توزیع کنید، به نویسنده بنویسید.

کتابخانه‌های اصلی استفاده‌شده توسط این برنامه (zlib، regex، libmaa) تحت شرایط متفاوتی توزیع می‌شوند، بنابراین ممکن است بتوانید از این کتابخانه‌ها برای برنامه‌هایی که با GPL ناسازگار هستند استفاده کنید -- لطفاً برای اطلاعات بیشتر به اعلان‌های کپی‌رایت و اطلاعات پروانه همراه کتابخانه‌ها مراجعه کرده، و برای حل این مسائل با وکیل خود مشورت نمایید.

اگر یک نشانی وب dict: در خط فرمان داده شود، تنها اولین مورد استفاده خواهد شد. بقیه نادیده گرفته می‌شوند.

اگر یک نشانی وب dict: حاوی مشخص‌کننده‌ای برای n-امین تعریف یا تطابق یک واژه باشد، نادیده گرفته شده و تمام تعاریف یا تطابق‌ها ارائه می‌شوند. این رفتار ناقض RFC است و در انتشار‌های بعدی اصلاح خواهد شد.

اگر یک نشانی وب dict: شامل راز مشترک باشد، به‌درستی تجزیه نخواهد شد.

هنگامی که دستور OPTION MIME به کارساز ارسال می‌شود (گزینه -M) ، قابلیت‌های کارساز بررسی نمی‌شوند.

~/.dictrc
فایل پیکربندی کاربر برای dict
/etc/dict/dict.conf
فایل پیکربندی سیستمی dict

dictd(8), dictzip(1), http://www.dict.org, RFC 2229

15 February 1998