SURFRAW(1) General Commands Manual SURFRAW(1)

surfraw - رابط خط فرمان سریع یونیکس برای سرویس‌های وب (WWW)

surfraw elviname [options] search words ...
sr elviname [options] search words ...
sr -elvi
sr [options] bookmark [search words]

برنامهٔ Surfraw یک رابط خط فرمان سریع یونیکس را برای انواع موتورهای جستجوی محبوب وب (WWW) و دیگر ابزارهای قدرت فراهم می‌کند. این ابزار google،‏ altavista،‏ dejanews،‏ freshmeat،‏ research index،‏ slashdot و بسیاری دیگر را از سرزمین‌های کافر، آبله‌گون و پیامبران دروغینِ فرم‌های html بازپس می‌گیرد و این شگفتی‌ها را در جایگاه واقعی‌شان، یعنی در ژرفای قلب یونیکس، به‌صورت افزونه‌های خداجوی پوسته (shell) قرار می‌دهد.

برنامهٔ Surfraw از مجموعه‌ای از elviها تشکیل شده است که هر یک از آن‌ها نحوهٔ جستجو در یک وب‌سایت خاص را می‌دانند. برای مشاهدهٔ فهرست elviها این دستور را وارد کنید:


surfraw -elvi

توجه داشته باشید که sr یک نام مستعار برای surfraw است، بنابراین می‌توان به همان شکل از دستور زیر نیز استفاده کرد:


sr -elvi

برای جستجو با استفاده از یک elvis، از ساختار زیر استفاده کنید:


sr elviname [options] search terms..

به‌عنوان مثال، برای جستجوی اطلاعات دربارۀ Debian ports در google با استفاده از گزینهٔ «I'm feeling lucky»:


sr google -l debian ports

اگر از کاربران همیشگی surfraw هستید، احتمالاً از تایپ هربارهٔ sr یا surfraw خسته خواهید شد. می‌توانید با افزودن دایرکتوری elvi (/usr/lib/surfraw) به متغیر PATH خود، چه به‌صورت دستی و چه با استفاده از surfraw-update-path(1)، رفتار پیشین اجرای مستقیم elviها را بازیابید.

برنامهٔ Surfraw از نشانک‌ها پشتیبانی می‌کند. برای افزودن یک نشانک، آن را به /etc/xdg/surfraw/bookmarks یا $HOME/.config/surfraw/bookmarks اضافه کنید.

قالب فایل نشانک‌ها ساده است؛ هر نشانک در یک خط جداگانه قرار می‌گیرد و نشانک و URL با فاصله (whitespace) از یکدیگر جدا می‌شوند، مانند:


ntk http://www.ntk.net

اگر URL شامل رشتهٔ %s باشد، می‌توانید یک آرگومان اختیاری برای نشانک مشخص کنید. بدون آرگومان، تنها دامنه بازگردانده خواهد شد. در صورت وجود آرگومان، %s با آرگومان‌ها جایگزین می‌شود. این ویژگی نیاز به ایجاد elvi برای وب‌سایت‌هایی با گزینه‌های جستجوی بسیار ساده را برطرف می‌کند.

برای فراخوانی یک نشانک، از «surfraw bookmark» یا «sr bookmark» استفاده کنید؛ اگر elvisای با آن نام وجود نداشته باشد، برنامه به‌جای آن به دنبال نشانکی با آن نام می‌گردد.

چندین نشانک نمونه در /etc/xdg/surfraw/bookmarks موجود است.

برای مشاهدهٔ گزینه‌های اختصاصی هر elvi از sr elviname -local-help استفاده کنید.

گزینه‌های زیر با تمام elviها کار می‌کنند.

نمایش خلاصهٔ گزینه‌ها (شامل گزینه‌های اختصاصی elvi).
نمایش گزینه‌های اختصاصی elvi.
نمایش نسخهٔ برنامه.
تنظیم مرورگر (پیش‌فرض: sensible-browser).
نمایش فهرستی از دیگر سازوکارهای Surfraw برای غلبه بر پلیدی (evil).
اعمال url escaping بر روی آرگومان‌ها (پیش‌فرض: yes).
محصور کردن تمام آرگومان‌ها با نویسه‌های " (پیش‌فرض: no). توجه داشته باشید که قرار دادن نقل‌قول پیرامون آرگومان‌ها اکنون کار می‌کند، بنابراین برای مثال می‌توانید چنین بنویسید:


sr google foo "bar baz" bam

و نقل‌قول به موتور جستجو منتقل می‌شود..SH "مثال‌ها (EXAMPLES)"


$ sr ask why is jeeves gay?
$ surfraw google -results=100 RMS, GNU, which is sinner, which is sin?
$ sr austlii -method=phrase dog like
$ /usr/lib/surfraw/rhyme -method=perfect Julian

Surfraw از مشخصات دایرکتوری پایهٔ XDG (http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html) برای یافتن فایل‌های پیکربندی استفاده می‌کند. مکان‌های پیش‌فرض در زیر نشان داده شده‌اند، اما می‌توان آن‌ها را با تنظیم متغیرهای محیطی $XDG_CONFIG_HOME و $XDG_CONFIG_DIRS تغییر داد. برای جزئیات بیشتر به مشخصات مذکور مراجعه کنید.

Surfraw پیکربندی خود را به ترتیب از سه منبع زیر دریافت می‌کند:

1.
متغیرهای محیطی
2.
/etc/xdg/surfraw/conf
3.
$HOME/.config/surfraw/conf

/etc/xdg/surfraw.conf و $HOME/.config/surfraw/conf هر دو بخش‌هایی از اسکریپت شل به سبک bourne‐shell هستند.

/etc/xdg/surfraw.conf باید از def و defyn برای تعریف متغیرها استفاده کند. این توابع متغیرها را تنظیم می‌کنند مگر آنکه قبلاً توسط محیط تنظیم شده باشند. defyn برای متغیرهای پیکربندی بولی و def برای سایر متغیرها استفاده می‌شود. برای نمونه:


def SURFRAW_text_browser /usr/bin/lynx
defyn SURFRAW_graphical no

$HOME/.config/surfraw/conf باید از ورودی‌های به سبک sh‐ استفاده کند، مانند:


SURFRAW_text_browser=/usr/bin/lynx
SURFRAW_graphical=no

دلیل آن این است که می‌خواهید این مقادیر بدون قید و شرط بر متغیرهای محیطی اولویت یابند و آن‌ها را بازنویسی کنند.

مکان فایل پیکربندی سراسری.

پیش‌فرض:


def SURFRAW_global_conf /etc/xdg/surfraw/conf

مکان فایل پیکربندی مخصوص هر کاربر.

پیش‌فرض:


def SURFRAW_conf $HOME/.config/surfraw/conf

استفاده یا عدم استفاده از مرورگر گرافیکی.

پیش‌فرض:

defyn SURFRAW_graphical no

نام یا مسیر فایل اجرایی مرورگر متنی. مانند links، lynx، w3m

پیش‌فرض:

def SURFRAW_text_browser sensible-browser

نام یا مسیر فایل اجرایی مرورگر گرافیکی. مانند mozilla، netscape و غیره.

پیش‌فرض:


def SURFRAW_graphical_browser sensible-browser

آرگومان‌های مرورگر متنی، یا "none".

پیش‌فرض:


def SURFRAW_text_browser_args none

آرگومان‌های مرورگر گرافیکی، یا "none".

پیش‌فرض:


def SURFRAW_graphical_browser_args none

استفاده از "-remote openURL" برای مرورگر گرافیکی.

پیش‌فرض:


defyn SURFRAW_graphical_remote yes

هنگام استفاده از SURFRAW_graphical_remote، پنجرهٔ جدیدی باز شود؟

پیش‌فرض:


defyn SURFRAW_new_window no

نام دستور screen برای اجرا.

پیش‌فرض:


def SURFRAW_screen screen

اگر surfraw تحت screen(1) در حال اجرا است، برای هر بار فراخوانی مرورگر متنی، یک screen جدید باز شود؟

پیش‌فرض:


defyn SURFRAW_new_screen no

آرگومان‌هایی که به دستور SURFRAW_screen ارسال می‌شوند.

پیش‌فرض:


def SURFRAW_screen_args ""

قرار دادن همهٔ آرگومان‌ها درون کوتیشن ("quote").

پیش‌فرض:


defyn SURFRAW_quote_args no

کوتیشن‌گذاری مجدد آرگومان‌ها در صورت داشتن فاصله، به طوری که:
sr google foo "bar baz" bam
طبق انتظار کار کند.

پیش‌فرض:

defyn SURFRAW_quote_ifs yes

تعداد پیش‌فرض نتایج بازگردانده‌شده (توسط همهٔ elviها پشتیبانی نمی‌شود).

پیش‌فرض:


def SURFRAW_results 30

گریز دادن (escape) نویسه‌های [% "$%&+,/:;<=>?@[{|}~'] در آرگومان‌های خط فرمان که متعاقباً برای ساخت یک url استفاده می‌شوند.

پیش‌فرض:


defyn SURFRAW_escape_url_args yes.SH "فایل‌ها (FILES)"

/usr/lib/surfraw
محل قرارگیری elviها.
${HOME}/.config/surfraw/elvi
elviهای مختص کاربر.
/etc/xdg/surfraw/conf
فایل پیکربندی پیش‌فرض سراسری سیستم.
$HOME/.config/surfraw/conf
فایل پیکربندی پیش‌فرض مختص کاربر.
/etc/xdg/surfraw/bookmarks
فایل بوک‌مارک‌های سراسری سیستم.
$HOME/.config/surfraw/bookmarks
فایل بوک‌مارک‌های مختص کاربر.

لطفاً هرگونه باگ یافت‌شده (یا هر وب‌سایتی که نیاز به surfrawize شدن دارد) را از طریق سامانهٔ رهگیری باگ‌های دبیان (http://bugs.debian.org) یا به فهرست پستی surfraw-devel (surfraw-devel@lists.alioth.debian.org) گزارش دهید.

http://alioth.debian.org/projects/surfraw


اوه عزیزم
من به کمی
پیوند عمیق نیاز دارم
بیا برویم
به موج‌سواری عریان!

فایل HACKING را مطالعه کنید. روح شگفتی اینترنتی محبوب خود را surfrawize کنید. با ارسال کد، به Shell Users' Revolutionary Front Against the WWW ملحق شوید. سرزمین‌های کفر را بازپس گیرید. بر حقیقت گواهی دهید. عشق آن، شما را آزاد خواهد کرد.

به ما در surfraw-devel@lists.alioth.debian.org بپیوندید.

در ابتدا توسط Julian Assange نوشته شده است.

اکنون توسط تیم surfraw-devel <surfraw-devel@lists.alioth.debian.org> نگهداری می‌شود.

برای دیدن فهرست کامل مشارکت‌کنندگان، فایل AUTHORS را ببینید.

صفحهٔ راهنما توسط Ian Beckwith بر اساس README اصلی و صفحهٔ راهنمای پیشین نوشته‌شده توسط Christian Surchi تهیه شده است.


Copyright (c) 2003-2018 The Surfraw-Devel Team
<surfraw-devel@lists.alioth.debian.org>
Copyright (c) 2000-2001 Julian Assange <proff@iq.org>
Copyright (c) 2001 Australian Institute for Collaborative Research
Copyright (c) 2000 Melbourne Institute for Advanced Study

دارندگان کپی‌رایت که در بالا فهرست شده‌اند، هیچ حقی برای این نسخه از نرم‌افزار ``surfraw'' ادعا نکرده و بدین وسیله صراحتاً این نسخه را در مالکیت عمومی (public domain) قرار می‌دهند. هر چه می‌خواهید، انجام دهید.

February 3, 2004