| KERMIT(1) | General Commands Manual | KERMIT(1) |
نام (NAME)
kermit - نرمافزار ارتباطاتی تعاملی و اسکریپتپذیر، مستقل از بستر انتقال و سکو (C‐Kermit 9.0)
-
این سند با هدف ارائه اطلاعات کافی به کاربران مبتدی برای استفاده پایه (اگر نگوییم پیشرفته) از C‐Kermit 9.0 تهیه شده است. هرچند ممکن است این متن برای یک صفحه راهنمای یونیکس نسبتاً طولانی به نظر برسد، اما همچنان بسیار کوتاهتر از کتابچه راهنمای اصلی C‐Kermit است که باید برای مباحث پیشرفته نظیر شخصیسازی، مجموعههای نویسه (character-sets)، اسکریپتنویسی و غیره به آن مراجعه شود. همچنین تلاش کردهایم نمایی کلی و ساختاریافته از قابلیتهای پرشمار C‐Kermit، حوزههای عملکردی، وضعیتها، حالتها و روابط متقابل آنها ارائه دهیم که هم برای مبتدیان و هم برای کاربران باسابقه و نیز کسانی که از نسخههای پیشین به نسخه 9.0 ارتقا مییابند مفید باشد.
این سند به عنوان یک صفحه وب نیز در نشانی زیر در دسترس است:
توضیحات (DESCRIPTION)
نرمافزار C‐Kermit یک بسته نرمافزاری ارتباطاتی همهمنظوره از پروژه Kermit در دانشگاه کلمبیا است که:
• به سکوهای بسیاری، اعم از یونیکس و غیر یونیکس، قابل انتقال (portable) است. • میتواند هر دو نوع اتصال سریالی و شبکهای را برقرار کند. • میتواند نشستهای ترمینال تعاملی را روی اتصال خود برقرار سازد. • میتواند فایلهای متنی یا دودویی (binary) را از طریق همان اتصال منتقل کند. • میتواند مجموعههای نویسه را در نشست ترمینال تبدیل کند. • میتواند مجموعههای نویسه را در طول انتقال فایل متنی تبدیل کند. • در تمامی جنبههای عملکردی خود قابل شخصیسازی است.
برنامه C‐Kermit یک برنامه مودم، یک کلاینت Telnet، یک کلاینت Rlogin، یک کلاینت FTP، یک کلاینت HTTP و در سکوهای منتخب، همچنین یک کلاینت X.25 است. این برنامه میتواند اتصالات امن اینترنتی خود را با استفاده از روشهای امنیتی تأییدشده توسط IETF از جمله Kerberos IV، Kerberos V، SSL/TLS و SRP برقرار کند و همچنین میتواند از طریق برنامه کلاینت خارجی SSH شما، اتصالات SSH برقرار سازد. این برنامه میتواند طرف دوردست (far‐end) انتقال فایل یا شریک کلاینت/سرورِ کلاینت Kermit رومیزی شما باشد. همچنین میتواند اتصالات ورودی تلفنی (dialed) و شبکهای را بپذیرد. حتی میتواند به عنوان یک سرویس اینترنتی روی سوکت استاندارد TCP اختصاصی خود، 1649 [RFC2839, RFC2840] نصب شود.
و شاید از همه مهمتر، هر کاری که میتوانید به صورت «دستی» (تعاملی) با C‐Kermit انجام دهید، میتواند با استفاده از زبان برنامهنویسی اسکریپت داخلی، مستقل از بستر انتقال و چندسکویی آن، «اسکریپتنویسی» (خودکارسازی) شود؛ زبانی که برحسب اتفاق، دقیقاً مشابه زبان دستورات تعاملی آن است.
این صفحه راهنما، نمایی کلی از C‐Kermit 9.0 را برای یونیکس ارائه میدهد («یونیکس» یک خانواده سیستمعامل است که شامل AIX، DG/UX، FreeBSD، HP‐UX، IRIX، Linux، Mac OS X، NetBSD، OpenBSD، Open Server، Open Unix، QNX، Solaris، SunOS، System V R3، System V R4، Tru64 Unix، Unixware، Xenix و بسیاری دیگر میشود). برای پوشش کامل و جامع، لطفاً به کتابچه راهنمای منتشرشده C‐Kermit و ضمائم آن مراجعه کنید (بخش مستندات را در زیر ببینید). برای اطلاعات بیشتر در مورد C‐Kermit، نرمافزار Kermit برای سایر سکوها، و کتابچههای راهنمای Kermit، از وبسایت پروژه Kermit دیدن کنید:
http://www.columbia.edu/kermit
این صفحه راهنما طولانیتر از حد متوسط است، با این حال تنها بخش کوچکی از امکانات را پوشش میدهد. نگران نشوید؛ C‐Kermit بستهای بزرگ و پیچیده است که در طول دههها تجربه و کاربرد عملی تکامل یافته، اما این بدان معنا نیست که یادگیری یا استفاده از آن دشوار است. پرکاربردترین قابلیتهای آن در اینجا به همراه ارجاعاتی به اطلاعات بیشتر در جاهای دیگر شرح داده شدهاند.
خلاصه دستور (SYNOPSIS)
kermit [ filename ] [ options ] [ {=,--,+} text ] ]
یا:
kermit URL
اگر نخستین آرگومان خط فرمان نام یک فایل باشد، دستورات حالت تعاملی از آن فایل اجرا میشوند. آرگومان '=' (یا "--") به Kermit اعلام میکند که باقیمانده خط فرمان را تجزیه نکند، بلکه کلمات پس از '=' را به صورت \%1، \%2، ... \%9 در دسترس قرار دهد. آرگومان "+" مانند "=" است اما برای استفاده در «اسکریپتهای kerbang» (که در ادامه توضیح داده شده) به کار میرود. قالب دوم خط فرمان اجازه میدهد که تنها آرگومان دادهشده یک نشانی اینترنتی (URL) از نوع Telnet، FTP، HTTP یا IKSD باشد.
ترتیب اجرا:
-
1. - فایل دستورات (در صورت وجود).
-
2. -
فایل مقداردهی اولیه، در صورت وجود، مگر اینکه با -Y نادیده گرفته شود.
-
3. - فایل شخصیسازی (اگر توسط فایل مقداردهی اولیه اجرا شود).
-
4. - نشانی اینترنتی (URL) خط فرمان (در صورت وجود، که در این صورت، اجرا در همینجا متوقف میشود).
-
5. - گزینههای خط فرمان (در صورت وجود).
-
6. - دستورات تعاملی.
برخی از گزینههای خط فرمان میتوانند باعث انجام اقداماتی شوند (مانند -s برای ارسال یک فایل)؛ سایر گزینهها تنها پارامترها را تنظیم میکنند. اگر هرگونه گزینه عملیاتی در خط فرمان گنجانده شده باشد، Kermit پس از اتمام کار خارج میشود مگر اینکه گزینه -S ("ماندن") نیز داده شده باشد. اگر هیچ گزینه عملیاتی داده نشود، هیچکدام از فایلهای مقداردهی اولیه یا فایلهای دستورات حاوی دستور EXIT یا QUIT نباشند، و هیچ خطای مهلکی رخ نداده باشد، Kermit خط اعلان (prompt) خود را نمایش میدهد و منتظر میماند تا شما دستورات را تایپ کنید.
- به یاد داشته باشید که C‐Kermit میتواند با غیرفعال بودن قابلیتهای مشخصی ساخته (کامپایل) شود، و همچنین برخی از قابلیتها در همه سکوها در دسترس نیستند. به عنوان مثال، C‐Kermit نمیتواند با پشتیبانی از TCP/IP در سکویی ساخته شود که فاقد فایلهای سرآیند (header files) و کتابخانههای TCP/IP است (و حتی اگر Kermit شامل پشتیبانی از TCP/IP باشد، نمیتوان از آن برای برقراری اتصالات TCP/IP در رایانهای که پشته TCP/IP روی آن نصب نیست استفاده کرد). اگر نسخه C‐Kermit شما فاقد قابلیتی است که در اینجا ذکر شده، از دستور SHOW FEATURES آن استفاده کنید تا ببینید چه مواردی ممکن است حذف شده باشند.
برنامه C‐Kermit دارای سه نوع دستور است: گزینههای تکحرفی معمولی خط فرمان، گزینههای قالب گسترشیافته خط فرمان، و دستورات تعاملی.
مانند بیشتر دستورات یونیکس، میتوان به C‐Kermit نیز در خط فرمان گزینههایی داد. اما C‐Kermit همچنین میتواند به صورت تعاملی با دادن دستوراتی متشکل از کلمات استفاده شود، که بسیار شهودیتر از گزینههای رمزی خط فرمان هستند و انعطافپذیری بیشتری نیز دارند. به عبارت دیگر، نیازی نیست حتماً از گزینههای خط فرمان C‐Kermit استفاده کنید، اما اگر بخواهید در دسترس هستند. (به همین ترتیب، مجبور به استفاده از دستورات تعاملی آن نیز نیستید ‐‐ میتوانید از هر کدام یا هر دو در هر ترکیبی استفاده کنید.)
برنامه C‐Kermit معمولاً در PATH به عنوان "kermit" نصب میشود و بنابراین با تایپ کلمه "kermit" (با حروف کوچک) در خط اعلان شل و سپس فشردن کلید Return یا Enter فراخوانی میشود. اگر مایل به افزودن گزینههای خط فرمان هستید، آنها را پس از کلمه "kermit" و قبل از فشردن Return یا Enter، با فاصله (space) قرار دهید، برای مثال:
$ kermit -s ckermit.tar.gz
('$' خط اعلان شل است؛ "kermit -s ckermit.tar.gz" چیزی است که شما تایپ میکنید، و در ادامه کلید Return یا Enter را فشار میدهید.).SH "گزینهها (OPTIONS)" در اینجا فهرستی از گزینههای تکحرفی خط فرمان C‐Kermit آمده است که با یک خطتیره منفرد (-) آغاز میشوند و بر اساس ترتیب ASCII (الفبایی) مرتب شدهاند. بزرگی و کوچکی حروف اهمیت دارد (-A با -a یکسان نیست). گزینههای عملیاتی با برچسب "ACTION" مشخص شدهاند.
- -0
- (رقم صفر) حالت اتصال کاملاً شفاف (۱۰۰٪ transparent) برای عملیات «در میانه» (in‐the‐middle): ۸ بیتی، بدون توازن (parity)، بدون نویسه گریز (escape)، همهچیز بدون تغییر عبور داده میشود.
- -8
- (رقم هشت) اتصال کاملاً ۸ بیتی است (8‐bit clean) (این حالت در C‐Kermit نسخهٔ 8.0 و بعد از آن پیشفرض است). معادل دستور EIGHTBIT، که خود میانبری برای دستورهای SET TERMINAL BYTESIZE 8، SET COMMAND BYTESIZE 8 و SET PARITY NONE است.
- -9 arg
- (رقم نه) برقراری اتصال به یک سرور FTP. معادل دستور FTP OPEN. آرگومان: IP‐address‐or‐hostname[:optional‐TCP‐port]. نکته: C‐Kermit همچنین دارای یک حالت (شخصیت) خط فرمان مجزای FTP با نحو دستوری معمولی و مشابه FTP است. توضیحات بیشتر در این مورد در ادامه آمده است.
- -A
- اجرای Kermit به عنوان یک سرویس اینترنتی (IKSD) (تنها از طریق inetd.conf).
- -B
- اجرای Kermit در حالت دستهای (Batch) یا پسزمینه (بدون ترمینال کنترلی). برای مواردی به کار میرود که Kermit وضعیت پسزمینه بودن خود را به صورت خودکار تشخیص نمیدهد. معادل دستور SET BACKGROUND ON.
- -C arg
- دستورهای حالت تعاملی (Interactive) برای اجرا. آرگومان: دستورهایی که با کاما از هم جدا شدهاند؛ فهرست در دابلکوتیشن قرار گیرد.
- -D arg
- تأخیر پیش از شروع ارسال در حالت از راه دور (Remote). معادل دستور SET DELAY. آرگومان: تعداد ثانیهها.
- -E
- خروج خودکار پس از بسته شدن اتصال. معادل دستور SET EXIT ON-DISCONNECT ON.
- -F arg
- استفاده از یک اتصال باز TCP. آرگومان: توصیفگر عددی فایل (file descriptor) مربوط به اتصال باز TCP. همچنین ببینید: -j, -J.
- -G arg
- (ACTION) دریافت فایل(ها) از سرور و ارسال محتوا به خروجی استاندارد، که معمولاً به یک فرایند دیگر پایپ (pipe) میشود. آرگومان: مشخصات فایل دوردست (Remote)؛ اگر حاوی نویسههای کنترلی (metacharacters) است باید در کوتیشن قرار گیرد. همچنین ببینید: -g, -k.
- -H
- عدم نمایش اعلان شروع برنامه و پیام خوشآمدگویی.
- -I
- اطلاع دادن به Kermit مبنی بر مطمئن بودن اتصال، جهت اجبار به استفاده از جریاندهی (streaming) در جایی که معمولاً استفاده نمیشود. معادل دستور SET RELIABLE ON.
- -J arg
- (ACTION) «رفتار شبیه Telnet». مانند -j اما مستلزم -E است. آرگومان: نام میزبان/آدرس IP به همراه نام یا شماره اختیاری سرویس. نکته: C‐Kermit همچنین دارای یک حالت خط فرمان مجزای Telnet با نحو دستوری مشابه Telnet استاندارد است. توضیحات بیشتر در این مورد در ادامه آمده است.
- -L
- پیمایش بازگشتی دایرکتوریها برای فایلهای مشخصشده در گزینهٔ -s.
- -M arg
- نام کاربری من (برای استفاده با Telnet، Rlogin، FTP و غیره). معادل دستور SET LOGIN USER. آرگومان: رشته نام کاربری.
- -O
- (ACTION) (حرف بزرگ O) عمل کردن به عنوان سرور تنها برای یک دستور. همچنین ببینید: -x.
- -P
- عدم تبدیل نام (مسیر) فایلهای منتقلشده. معادل SET FILE NAMES LITERAL.
- -Q
- تنظیمات سریع پروتکل Kermit. معادل دستور FAST. این مقدار پیشفرض در C‐Kermit نسخهٔ 7.0 و بعد از آن است.
- -R
- فقط از راه دور (این گزینه فقط شرط IF REMOTE را برقرار میکند).
- -S
- ماندن (ورود به تجزیهگر دستور پس از گزینههای عملیاتی).
- -T
- اجبار حالت متنی (Text mode) برای انتقال فایل؛ مستلزم -V است. معادل دستورهای SET TRANSFER MODE MANUAL و SET FILE TYPE TEXT.
- -V
- غیرفعال کردن جابهجایی خودکار حالت متنی/دودویی برای هر فایل. معادل SET TRANSFER MODE MANUAL.
- -Y
- نادیده گرفتن (عدم اجرای) فایل مقداردهی اولیه (راهاندازی).
- -a arg
- نام جایگزین (As‐name) برای فایل(ها) در -s، -r، یا -g. آرگومان: رشته نام جایگزین (نام فایل جایگزین). هنگام دریافت فایلها، این مقدار میتواند نام یک دایرکتوری باشد.
- -b arg
- سرعت برای دستگاه ارتباطی سریال. معادل SET SPEED. آرگومان: عدد بیت بر ثانیه برای اتصالات سریال.
- -c
- (ACTION) ورود به حالت اتصال (Connect) پیش از انتقال فایلها.
- -d
- ایجاد یک فایل debug.log با اطلاعات دقیق اشکالزدایی (یک -d دوم، برچسبهای زمانی را نیز اضافه میکند). معادل LOG DEBUG است اما زودتر اعمال میشود.
- -e arg
- حداکثر طول برای بستههای دریافتی انتقال فایل Kermit. معادل SET RECEIVE PACKET-LENGTH. آرگومان: طول به بایت.
- -f
- (ACTION) ارسال یک دستور FINISH به سرور Kermit.
- -g arg
- دریافت فایل(ها) از یک سرور Kermit. آرگومان: مشخصات فایل در رایانه دیگر؛ اگر حاوی نویسههای کنترلی است، در کوتیشن قرار گیرد. معادل GET. همچنین ببینید: -a, -G, -r.
- -h
- (ACTION) چاپ متن راهنما برای گزینههای تکحرفی خط فرمان (برای جلوگیری از پیمایش سریع خروجی را به 'more' پایپ کنید).
- -i
- اجبار حالت دودویی یا ایمیج (Image) برای انتقال فایل؛ مستلزم -V است. معادل دستورهای SET TRANSFER MODE MANUAL و SET FILE TYPE BINARY.
- -j arg
- برقراری یک اتصال TCP/IP. آرگومان: نام میزبان/آدرس IP و نام یا شماره اختیاری سرویس. معادل دستور TELNET. همچنین ببینید: -J, -F.
- -k
- (ACTION) دریافت فایل(ها) و ارسال به خروجی استاندارد، که معمولاً به فرایند دیگری پایپ میشود. همچنین ببینید: -r, -G.
- -l arg
- (حرف کوچک L) برقراری اتصال روی دستگاه ارتباطی سریال مشخصشده. معادل دستور SET LINE (یا SET PORT). آرگومان: نام دستگاه سریال، مانند /dev/ttyS0.
- -m arg
- نوع مودم برای استفاده با دستگاه مشخصشده در -l. معادل دستور SET MODEM TYPE. آرگومان: نام مودم مطابق با دستور SET MODEM TYPE، مانند "usrobotics".
- -n
- (ACTION) ورود به حالت اتصال (Connect) پس از انتقال فایلها (کاربرد تاریخی).
- -p arg
- توازن (Parity). معادل دستور SET PARITY. آرگومان: یکی از موارد روبرو: e(ven) (زوج)، o(dd) (فرد)، m(ark) (علامت)، n(one) (هیچکدام)، s(pace) (فاصله).
- -q
- بیصدا (عدم نمایش اکثر پیامها). معادل SET QUIET ON.
- -r
- (ACTION) دریافت فایل(ها). معادل دستور RECEIVE. آرگومان: (ندارد، اما -a را ببینید)
- -s arg
- ارسال فایل(ها). آرگومان: یک یا چند مشخصه فایل محلی. معادل دستور SEND. همچنین ببینید: -a.
- -t
- (کاربرد تاریخی) نویسه بازگشت Xon (Ctrl-Q) برای اتصالات نیمهدوطرفه (half‐duplex) (مورد استفاده در اتصالات سریال حالت خطی به رایانههای بزرگ قدیمی). معادل SET DUPLEX HALF و SET HANDSHAKE XON..TP -v arg اندازه پنجره برای پروتکل Kermit (هنگام streaming نادیده گرفته میشود). معادل SET WINDOW-SIZE. آرگومان: عدد، 1 تا 32.
- -w
- بازنویسی فایلهای دریافتی روی فایلهای موجود. معادل SET FILE COLLISION OVERWRITE.
- -x
- (ACTION) ورود به حالت سرور. معادل دستور SERVER. همچنین ببینید: -O.
- -y arg
- فایل راهاندازی جایگزین. آرگومان: نام فایل.
- -z
- اجبار به رفتار در پیشزمینه. برای مواقعی که Kermit به طور خودکار وضعیت پیشزمینه خود را تشخیص نمیدهد. معادل دستور SET BACKGROUND OFF.
گزینههای خط فرمان گسترشیافته (که به دلیل اتمام حروف تکحرفی ضروری شدهاند) با دو خط تیره (--) و با کلمات به جای تکحرفها به عنوان نام گزینه آغاز میشوند. اگر یک گزینه گسترشیافته آرگومان دریافت کند، با یک دونقطه (:) از نام گزینه جدا میشود. گزینههای گسترشیافته عبارتند از:
- فایلی که هنگام راهاندازی یا ورود به IKSD نمایش داده میشود.
-
--cdfile:filename - فایلی که هنگام تغییر دایرکتوری توسط سرور، برای نمایش به کلاینت فرستاده میشود (نام فایل نسبت به دایرکتوری جدید سنجیده میشود).
-
--cdmessage:{on,off} - فعال/غیرفعال کردن ویژگی پیام CD سرور.
-
--help - چاپ پیام راهنمای استفاده برای گزینههای گسترشیافته.
-
--helpfile:filename - مشخص کردن فایلی حاوی متن سفارشی برای جایگزینی دستور سطح بالای HELP.
-
--nointerrupts - غیرفعال کردن وقفههای صفحهکلید.
-
--noperms - غیرفعال کردن مشخصه مجوزهای فایل پروتکل Kermit، جهت جلوگیری از انتقال مجوزهای فایل (حفاظت) از فرستنده به گیرنده.
-
--version - (ACTION) چاپ شماره نسخه C‐Kermit.
به علاوه چند گزینه اختصاصی IKSD دیگر که شرح آنها آمده است در:
http://www.columbia.edu/kermit/iksd.html
برای نمونههایی از فراخوانی خط فرمان، بخش انتقال فایل (file‐transfer) را ببینید.
زبان دستورات (COMMAND LANGUAGE)
زبان دستورات تعاملی C‐Kermit موضوع یک کتاب ۶۲۲ صفحهای و چند صد صفحه بهروزرسانی دیگر است، بسیار بیشتر از آنکه در یک صفحه راهنما بگنجد. اما شروع کار با آن دشوار نیست. در اعلان شل، فقط عبارت "kermit" را تایپ کنید تا اعلان دستور تعاملی C‐Kermit را دریافت کنید:
$ kermit (/current/directory) C-Kermit>
با تایپ "help" (و سپس فشردن کلید Return یا Enter) برای دریافت یک نمای کلی سطح بالا شروع کنید، آن را بخوانید و از آنجا ادامه دهید. دستور دوم شما احتمالاً باید "intro" (مقدمه) باشد. توجه داشته باشید که اعلان، دایرکتوری جاری شما را نشان میدهد (مگر اینکه به Kermit بگویید اعلان متفاوتی را نمایش دهد).
دستورات تعاملی عمدتاً از کلمات معمولی انگلیسی تشکیل شدهاند، معمولاً در قالب جملات امری، مانند:
send oofa.txt
که به Kermit میگوید فایل با نام oofa.txt را ارسال (منتقل) کند، یا:
set transfer mode automatic
که "transfer mode" در Kermit را روی "automatic" تنظیم میکند (به هر مفهومی که باشد).
هنگام تایپ دستورات، میتوانید از اختصارات استفاده کنید، راهنمایی بخواهید (با فشردن کلید "?" در هر کجای دستور)، کلمات کلیدی یا نام فایلها را کامل کنید (با کلید Tab یا Esc)، و تایپ خود را با Backspace یا Delete، Ctrl-W، Ctrl-U و غیره ویرایش کنید. همچنین میتوانید دستورات قبلی را فراخوانی کنید، تاریخچه دستورات خود را ذخیره کنید، و موارد بسیار دیگر. برای جزئیات، دستور INTRO را صادر کنید.
برنامه C‐Kermit صدها دستور دارد و میتوان آنها را در تنوع و ترکیبهای نامحدودی صادر کرد، از جمله دستوراتی برای:
• برقراری اتصالات (SET LINE, DIAL, TELNET, SSH, FTP, ...) • قطع اتصالات (HANGUP, CLOSE) • انتقال فایلها (SEND, GET, RECEIVE, MOVE, RESEND, ...) • تنظیم ترجیحات (SET) • نمایش ترجیحات (SHOW) • مدیریت فایلهای محلی (CD, DELETE, MKDIR, DIR, RENAME, TYPE, ...) • مدیریت فایلهای دوردست (RCD, RDEL, RMKDIR, RDIR, ...) • استفاده از فایلهای محلی (FOPEN, FCLOSE, FREAD, FWRITE) • برنامهنویسی (TAKE, DEFINE, IF, FOR, WHILE, SWITCH, DECLARE, ...) • تعامل با کاربر (ECHO, ASK, ...) • تعامل با رایانه دوردست (INPUT, OUTPUT, ...) • تعامل با برنامههای محلی (RUN, EXEC, PTY, ...) • ثبت وقایع (LOG SESSION, LOG PACKETS, LOG DEBUG, ...)و البته QUIT یا EXIT برای خروج و HELP برای دریافت راهنما؛ و برای برنامهنویسان: حلقهها، تصمیمگیری، متغیرها، آرایهها، آرایههای انجمنی، محاسبات اعداد صحیح و ممیز شناور، ماکروها، توابع توکار و تعریفشده توسط کاربر، دستکاری رشتهها، تطبیق الگو، ساختار بلوکی، حوزه متغیرها (scoping)، بازگشت (recursion) و تمام امکانات دیگر. برای دریافت فهرستی از تمام دستورات C‐Kermit، یک علامت سؤال (?) در اعلان تایپ کنید. برای دریافت توضیحات هر دستور، عبارت HELP را به همراه نام دستور تایپ کنید، برای مثال:
help send
نویسه وقفه دستور، کلیدهای ترکیبی Ctrl-C است (کلید Ctrl را نگه داشته و کلید C را فشار دهید).
«نویسه فرار» (escape character) زبان دستورات، که برای معرفی نام متغیرها، فراخوانی توابع و غیره استفاده میشود، بکاسلش (\) است. اگر نیاز به درج یک بکاسلش واقعی در یک دستور دارید، دو عدد از آن را تایپ کنید، مانند:
get c:\k95\k95custom.ini.SS
"فایلهای
دستور،
ماکروها و
اسکریپتها
(Command Files, Macros, and Scripts)"
فایلی که
حاوی
دستورهای Kermit
باشد، یک
«فایل
دستور Kermit» یا
«اسکریپت
Kermit» نامیده
میشود. این
فایل را
میتوان با
دستور TAKE در Kermit
اجرا کرد:
(/current/dir) C-Kermit> take commandfile
(که در آن "commandfile" نام فایل دستور است). لطفاً یک فایل دستور را از طریق لوله (pipe) به ورودی استاندارد Kermit هدایت نکنید (که ممکن است کار بکند یا نکند)؛ اگر دستورهای Kermit را در یک فایل دارید، به Kermit بگویید آن فایل را با TAKE اجرا کند.
تنها در Unix، یک فایل دستور Kermit را میتوان با قرار دادن یک خط "kerbang" بهعنوان خط نخست فایل، بهطور مستقیم نیز اجرا کرد:
#!/usr/local/bin/kermit +
بدین صورت که نخستین خط با "#!" آغاز شده، بلافاصله مسیر کامل فایل اجرایی Kermit در ادامه میآید، و سپس اگر قرار است به اسکریپت Kermit در خط فرمان آرگومانهایی داده شود، یک فاصله و یک علامت مثبت قرار میگیرد. فایل اسکریپت همچنین باید مجوز اجرا داشته باشد:
chmod +x commandfile
بهجز بخش " +"، این فرآیند دقیقاً همان کاری است که برای یک اسکریپت شل، اسکریپت Perl و غیره انجام میدهید. در اینجا یک نمونه اسکریپت ساده اما بیاستفاده آمده است که آرگومانهای خود را (حداکثر تا سه مورد) بازگو میکند:
#!/usr/local/bin/kermit +
if defined \%1 echo "Argument 1: \%1"
if defined \%2 echo "Argument 2: \%2"
if defined \%3 echo "Argument 3: \%3"
if defined \%4 echo "etc..."
exit
اگر این فایل در دایرکتوری جاری شما با نام "commandfile" ذخیره شود، اجرای:
./commandfile one two three four five
عبارت زیر را چاپ میکند:
Argument 1: one
Argument 2: two
Argument 3: three
etc...
این مثال ساختار پایهٔ یک اسکریپت مستقل Kermit را نشان میدهد: «خط kerbang»، و سپس چند دستور. این اسکریپت باید با "exit" پایان یابد، مگر اینکه بخواهید پس از اتمام آن، اعلان (prompt) برنامهٔ Kermit ظاهر شود. \%1 آرگومان نخست، \%2 دومی، و الی آخر است.
شما همچنین میتوانید با تعریف ماکروهای نامگذاریشدهای که از سایر دستورهای (یا ماکروهای) Kermit تشکیل شدهاند، دستورهای دلخواه خود را بسازید. برای نمونه:
define mydelete {
local trash
assign trash \v(home)trashcan/
if not defined \%1 end 1 "Delete what?"
if wild \%1 {
end 1 "Deleting multiple files is too scary"
}
if not exist \%1 end 1 "I can't find \%1"
if not directory \m(trash) {
mkdir \m(trash)
if fail end 1 "No trash can"
}
rename /list \%1 \m(trash)
}
define myundelete {
local trash
assign trash \v(home)trashcan/
if not defined \%1 end 1 "Undelete what?"
if wild \%1 {
end 1 "Undeleting multiple files is too hard"
}
if not directory \m(trash) end 1 "No trash can"
if not exist \m(trash)\%1 {
end 1 "I can't find \%1 in trash can"
}
rename /list \m(trash)\%1 .
}
این
ماکروهای
نمونه
دقیقاً
مناسب
محیطهای
عملیاتی (production quality)
نیستند
(نامهای
فایلی که
شامل
بخشهای
مسیر هستند
را مدیریت
نمیکنند،
چند فایل را
پشتیبانی
نمیکنند،
و غیره)، اما
ایدهٔ کلی
روشن است:
شما
میتوانید
آرگومانهایی
را به
ماکروها
ارسال
کنید، و
آنها
میتوانند
این
آرگومانها
را بررسی
کرده و
انواع
دیگری از
تصمیمها
را اتخاذ
کنند. اگر
خطهای
بالا را در
فایل
مقداردهی
اولیه یا
شخصیسازی
خود (که در
ادامه
توضیح داده
شده) قرار
دهید، در هر
بار اجرای Kermit
دستورهای MYDELETE
و MYUNDELETE در دسترس
خواهند
بود؛ حداقل
تا زمانی که
از اجرای
فایل
مقداردهی
اولیه
جلوگیری
نکنید.
(تمرینی
برای
خواننده:
این
ماکروها را
بهطور
عمومی
کاربردی
کنید:
محدودیتها
را برطرف
سازید،
امکاناتی
برای نمایش
سطل زباله،
مرور، خالی
کردن آن و
غیره اضافه
کنید.)
اسکریپتهای Kerbang بدون فایل مقداردهی اولیه اجرا میشوند. این امر برای حفظ قابلیت حمل و همچنین راهاندازی سریعتر آنها است. اگر میخواهید اسکریپتهای Kerbangای بنویسید که وابسته به فایل مقداردهی اولیه باشند، دستور
take \v(home).kermrc
را در محل مورد نظر در اسکریپت قرار دهید. ضمناً، \v(xxx) یک متغیر درونی (built‐in) است (xxx نام متغیر است، در این مورد "home"). برای مشاهدهٔ اینکه چه متغیرهای درونیای در دسترس هستند، در اعلان C‐Kermit عبارت "show variables" را وارد کنید. برای دیدن سایر مواردی که میتوانید نمایش دهید، "show ?" را تایپ کنید. \m(xxx) یک متغیر تعریفشده توسط کاربر است (بهبیان دقیقتر، ماکرویی است که بهعنوان متغیر استفاده میشود).
فهرست دستورها (Command List)
برنامهٔ C‐Kermit بیش از ۲۰۰ دستور سطح بالا (top‐level) دارد، و برخی از اینها، مانند SET، خود به صدها زیردستور تقسیم میشوند؛ بنابراین توضیح همهٔ آنها در اینجا امکانپذیر نیست. در عوض، در اینجا فهرست کوتاهی از پرکاربردترین دستورهای سطح بالا بر پایه دستهبندی آمده است. برای یادگیری دربارهٔ هر دستور، عبارت "help" و سپس نام دستور را تایپ کنید، مثلاً "help set". اصطلاحاتی مانند «حالت دستور» (Command state) و «حالت اتصال» (Connect state) در بخشهای بعدی توضیح داده شدهاند.
فیلدهای اختیاری درون [ قلابها ] نشان داده شدهاند. "filename" به معنای نام یک فایل تک است. filespec بیانگر مشخصهٔ فایلی است که مجاز است شامل نویسههای عاممنظوره (wildcard) مانند '*' برای تطبیق با گروهی از فایلها باشد. گزینهها (options) سوئیچهایی (اختیاری) مانند /PAGE، /NOPAGE، /QUIET و غیره هستند که در متن HELP برای هر دستور فهرست شدهاند. مثال:
send /recursive /larger:10000 /after:-1week /except:*.txt *
که میتوان آن را چنین خواند: «تمام فایلهای موجود در این دایرکتوری و همهٔ فایلهای زیر آن را که بزرگتر از ۱۰۰۰۰ بایت هستند، حداکثر یک هفته قدمت دارند، و نام آنها به ".txt" ختم نمیشود، ارسال کن»..SS دستورهای پایه (Basic Commands)
- HELP
- درخواست راهنمای سطح بالا.
- HELP command
- درخواست راهنما درباره دستور مشخصشده.
- INTRODUCTION
- درخواست معرفی کوتاهی از C‐Kermit.
- LICENSE
- نمایش کپیرایت و مجوز نرمافزار C‐Kermit.
- VERSION
- نمایش شماره نسخه C‐Kermit.
- EXIT [ number ]
- خروج از Kermit با کد وضعیت دادهشده. مترادفها: QUIT، E، Q.
- TAKE filename [ parameters... ]
- اجرای دستورها از فایل دادهشده.
- LOG item [ filename ]
- ثبت وقایع (لاگ) از مورد دادهشده در فایل مشخصشده.
- [ DO ] macro [ parameters... ]
- اجرای دستورها از ماکروی مشخصشده.
- SET parameter value
- تنظیم پارامتر دادهشده روی مقدار مشخصشده.
- SHOW category
- نمایش تنظیمات در یک دستهبندی مشخص.
- STATUS
- اعلام موفقیتآمیز بودن یا شکست دستور پیشین.
- DATE [ date‐and/or‐time ]
- نمایش تاریخ‐زمان جاری یا تفسیر تاریخ‐زمان دادهشده.
- RUN [ extern‐command [ parameters... ]
- اجرای دستور خارجی دادهشده. مترادف: !.
- EXEC [ extern‐command [ params... ]
- جایگزینی فرایند Kermit با اجرای دستور دادهشده.
- SUSPEND
- متوقف کردن Kermit و فرستادن آن به پسزمینه. مترادف: Z.
مدیریت فایلهای محلی (Local File Management)
- TYPE [ options ] filename
- نمایش محتوای فایل مشخصشده.
- MORE [ options ] filename
- معادل TYPE /PAGE (توقف پس از هر صفحه نمایش).
- CAT [ options ] filename
- معادل TYPE /NOPAGE.
- HEAD [ options ] filename
- نمایش چند سطر نخست از فایل مشخصشده.
- TAIL [ options ] filename
- نمایش چند سطر پایانی از فایل مشخصشده.
- GREP [ options ] pattern filespec
- نمایش سطرهایی از فایلها که با الگو مطابقت دارند. مترادف: FIND.
- DIRECTORY [ options ] [filespec ]
- فهرست کردن فایلها (توکار، با گزینههای متعدد).
- LS [ options ] [ filespec ]
- فهرست کردن فایلها (اجرای دستور خارجی "ls").
- DELETE [ options ] [ filespec ]
- حذف فایلها. مترادف: RM.
- PURGE [ options ] [ filespec ]
- پاکسازی فایلهای پشتیبان (*.~n~).
- COPY [ options ] [ filespecs... ]
- رونوشت از فایلها. مترادف: CP.
- RENAME [ options ] [ filespecs... ]
- تغییر نام فایلها. مترادف: MV.
- CHMOD [ options ] [ filespecs... ]
- تغییر مجوزهای دسترسی فایلها.
- TRANSLATE filename charsets [ filename ]
- تبدیل مجموعه نویسه (character set) فایل. مترادف: XLATE.
- CD
- تغییر دایرکتوری کاری به دایرکتوری خانگی شما.
- CD directory
- تغییر دایرکتوری کاری به مسیر مشخصشده.
- CDUP
- انتقال دایرکتوری کاری به یک سطح بالاتر.
- PWD
- نمایش دایرکتوری کاری جاری.
- BACK
- بازگشت به دایرکتوری کاری پیشین شما.
- MKDIR [ directory ]
- ایجاد یک دایرکتوری.
- RMDIR [ directory ]
- حذف یک دایرکتوری. برقراری ارتباط (Making Connections)
- SET LINE [ options ] devicename
- پورت سریال مشخصشده را باز میکند. مترادف: SET PORT.
- OPEN LINE [ options ] devicename
- مشابه SET LINE. مترادف: OPEN PORT.
- SET MODEM TYPE [ name ]
- نوع مودم متصل به پورت را به Kermit اعلام میکند.
- DIAL [ number ]
- به Kermit دستور میدهد تا با استفاده از مودم، شماره تلفن دادهشده را شمارهگیری کند.
- REDIAL
- آخرین شماره تلفن گرفتهشده را مجدداً شمارهگیری میکند.
- ANSWER
- منتظر تماس دریافتی روی مودم میماند و به آن پاسخ میدهد.
- AUTHENTICATE [ parameters... ]
- احراز هویت امن را روی یک اتصال TCP/IP انجام میدهد.
- SET NETWORK TYPE { TCP/IP, X.25, ... }
- نوع شبکه را برای دستورهای بعدی SET HOST انتخاب میکند.
- SET HOST [ options ] host [ port ]
- یک اتصال شبکه به میزبان (host) و پورت مشخصشده باز میکند.
- SET HOST * port
- منتظر یک اتصال TCP/IP دریافتی روی پورت مشخصشده میماند.
- TELNET [ options ] host
- یک اتصال Telnet به میزبان برقرار کرده و وارد وضعیت Connect میشود.
- RLOGIN [ options ] host
- یک اتصال Rlogin به میزبان برقرار کرده و وارد وضعیت Connect میشود.
- IKSD [ options ] host
- یک اتصال به Internet Kermit Service باز میکند.
- SSH [ options ] host
- یک اتصال SSH به میزبان برقرار کرده و وارد وضعیت Connect میشود.
- FTP OPEN host [ options ]
- یک اتصال FTP به میزبان باز میکند.
- HTTP [ options ] OPEN host
- یک اتصال HTTP به میزبان باز میکند.
- PTY external‐command
- دستور را در یک شبهترمینال اجرا میکند، بهگونهای که گویی یک اتصال واقعی است.
- PIPE external‐command
- دستور را از طریق یک لوله (pipe) اجرا میکند، بهگونهای که گویی یک اتصال است.
استفاده از ارتباطات (Using Connections)
- CONNECT [ options ]
- وارد وضعیت Connect (ترمینال) میشود. مترادف: C.
- REDIRECT command
- دستور خارجی مشخصشده را از طریق اتصال بازهدایت میکند.
- TELOPT command
- یک دستور پروتکل Telnet ارسال میکند (تنها در اتصالات Telnet).
- Ctrl-\C
- از وضعیت Connect به وضعیت Command بازمیگردد («Escape back»).
- Ctrl-\B
- (در وضعیت Connect) یک سیگنال BREAK ارسال میکند (سریال یا Telnet).
- Ctrl-\!
- (در وضعیت Connect) وارد یک پوستهٔ فرعی میشود؛ برای بازگشت «exit» را وارد کنید.
- Ctrl-\?
- (در وضعیت Connect) منویی از سایر گزینههای سطح گریز (escape‐level) را نمایش میدهد.
- Ctrl-\Ctrl-\
- (در وضعیت Connect) دو بار Ctrl-Backslash را تایپ کنید تا یکی از آنها ارسال شود.
- SET ESCAPE [ character ]
- نویسهٔ گریز (escape character) حالت Connect در Kermit را تغییر میدهد.
بستن ارتباطات (Closing Connections)
- HANGUP
- اتصال پورت سریال یا شبکهٔ باز فعلی را قطع میکند (Hang up).
- CLOSE
- اتصال پورت سریال یا شبکهٔ باز فعلی را میبندد.
- SET LINE (بدون devicename)
- اتصال پورت سریال یا شبکهٔ باز فعلی را میبندد.
- SET HOST (بدون hostname)
- اتصال پورت سریال یا شبکهٔ باز فعلی را میبندد.
- FTP CLOSE
- اتصال FTP باز فعلی را میبندد.
- HTTP CLOSE
- اتصال HTTP باز فعلی را میبندد.
- EXIT
- همچنین تمام اتصالات را میبندد. مترادف: QUIT.
- SET EXIT WARNING OFF
- هشدارهای مربوط به باز بودن اتصالات را هنگام خروج یا بستن غیرفعال میکند. انتقال فایل (File Transfer)
- SEND [ options ] filename [ as‐name ]
- فایل مشخصشده را ارسال میکند. مترادف: S.
- SEND [ options ] filespec
- تمام فایلهای منطبق را ارسال میکند.
- RESEND [ options ] filespec
- یک عملیات SEND متوقفشده را از نقطهٔ شکست از سر میگیرد.
- RECEIVE [ options ] [ as‐name ]
- بهصورت غیرفعال در انتظار رسیدن فایلها میماند. مترادف: R.
- LOG TRANSACTIONS [ filename ]
- سابقهای از عملیاتهای انتقال فایل را ثبت و نگهداری میکند.
- FAST
- از تنظیمات سریع انتقال فایل استفاده میکند (پیشفرض).
- CAUTIOUS
- از تنظیمات محتاطانه و با سرعت کمترِ انتقال فایل استفاده میکند.
- ROBUST
- از تنظیمات فوقمحافظهکارانه و آهستهٔ انتقال فایل استفاده میکند.
- STATISTICS [ options ]
- آمارهایی دربارهٔ جدیدترین انتقال فایل ارائه میدهد.
- WHERE
- پس از انتقال: «فایلهای من کجا رفتند؟».
- TRANSMIT [ options ] [ofilename ]
- فایل را بدون پروتکل ارسال میکند. مترادف: XMIT.
- LOG SESSION [ filename ]
- متن یا فایلهای راه دور را بدون پروتکل دریافت و ذخیره میکند.
- SET PROTOCOL [ name... ]
- به Kermit اعلام میکند که از یک پروتکل خارجی انتقال فایل استفاده کند.
- FTP { PUT, MPUT, GET, MGET, ... }
- دستورهای کلاینت FTP.
- HTTP { PUT, GET, HEAD, POST, ... }
- دستورهای کلاینت HTTP.
کارساز کرمیت (Kermit Server)
- ENABLE, DISABLE
- کنترل میکند که کدام قابلیتهای کارساز میتوانند توسط کلاینتها استفاده شوند.
- SET SERVER
- پارامترها را پیش از ورود به وضعیت Server تنظیم میکند.
- SERVER
- وارد وضعیت Server میشود.
کلاینت کارساز Kermit یا FTP (Client of Kermit or FTP Server)
- [ REMOTE ] LOGIN [ user password ]
- به یک کارساز Kermit یا IKSD که نیازمند لاگین است وارد میشود.
- [ REMOTE ] LOGOUT
- از یک کارساز Kermit یا IKSD خارج میشود.
- SEND [ options ] filename [ as‐name ]
- فایل مشخصشده را به کارساز ارسال میکند. مترادفها: S، PUT.
- SEND [ options ] filespec
- تمام فایلهای منطبق را ارسال میکند.
- RESEND [ options ] filespec
- یک عملیات SEND متوقفشده را از نقطهٔ شکست از سر میگیرد.
- GET [ options ] remote‐filespec
- از کارساز درخواست میکند که فایلهای مشخصشده را ارسال کند. مترادف: G.
- REGET [ options ] remote‐filespec
- یک عملیات GET متوقفشده را از نقطهٔ توقف از سر میگیرد.
- REMOTE CD [ directory ]
- از کارساز درخواست میکند دایرکتوری کاری خود را تغییر دهد. مترادف: RCD.
- REMOTE PWD [ directory ]
- از کارساز درخواست میکند دایرکتوری کاری خود را نمایش دهد. مترادف: RPWD.
- REMOTE DIRECTORY [ filespec... ]
- از کارساز درخواست میکند فهرست محتویات دایرکتوری را ارسال کند. مترادف: RDIR.
- REMOTE DELETE [ filespec... ]
- از کارساز درخواست میکند فایلها را حذف کند. مترادف: RDEL.
- REMOTE [ command... ]
- (دستورهای بسیار دیگر: «remote ?» را برای دیدن فهرست وارد کنید).
- MAIL [ options ] filespec
- فایل(ها) را برای تحویل بهعنوان رایانامه (e‐mail) ارسال میکند (تنها در Kermit).
- FINISH
- از کارساز درخواست میکند از وضعیت کارساز خارج شود (تنها در Kermit).
- BYE
- از کارساز درخواست میکند نشست را خاتمه داده و اتصال را ببندد.
برنامهنویسی اسکریپت (Script Programming)
بسیاری از دستورهای Kermit دارای مترادفها، گونهها، موارد مرتبط و غیره هستند. بهعنوان مثال، MSEND نسخهای از SEND است که بهجای تنها یک مشخصهٔ فایل، فهرستی از مشخصههای فایل را برای ارسال میپذیرد، و MPUT مترادفی برای MSEND است. MOVE بهمعنای SEND و سپس در صورت موفقیت، DELETE کردن فایل مبدأ است. MMOVE مانند MOVE است، اما فهرستی از مشخصههای فایل (filespecs) را میپذیرد، و مواردی از این دست. این جزئیات در مستندات کامل شرح داده شدهاند.
برای راهنمایی گرفتن و آشنایی گامبهگام با یک دستور ناآشنا، مانند این مثال، از علامت سؤال استفاده کنید:
C-Kermit> remote ? One of the following: assign directory kermit print rmdir cd exit login pwd set copy help logout query space delete host mkdir rename type C-Kermit> remote set ? One of the following: attributes file retry transfer block-check receive server window C-Kermit> remote set file ? One of the following: character-set incomplete record-length collision names type C-Kermit> remote set file names ? One of the following: converted literal C-Kermit> remote set file names literal C-Kermit>به این قابلیت منوی بنا به درخواست (menu on demand) میگویند: هنگامی که نیاز داشته باشید یک منو در اختیارتان قرار میگیرد، اما حتی زمانی که میدانید چه کاری انجام میدهید نیز منویی به شما تحمیل نمیشود. توجه داشته باشید که میتوانید اکثر کلیدواژهها را کوتاهنویسی کنید، و میتوانید آنها را با کلید Tab یا Esc کامل نمایید. همچنین در نظر داشته باشید که ? برای نام فایلها نیز کار میکند، و میتوانید از آن نه تنها در آغاز، بلکه در میانهٔ یک کلیدواژه یا نام فایل نیز استفاده کنید. برای نمونه، “send x?” تمام فایلهای موجود در دایرکتوری جاری را که نام آنها با 'x' آغاز میشود، فهرست میکند..SH "فایل مقداردهی اولیه (INITIALIZATION FILE)" در پیکربندی پیشفرض خود، C‐Kermit هنگام شروع، دستورها را از فایلی به نام .kermrc در دایرکتوری خانگی شما اجرا میکند، مگر اینکه گزینهٔ خطفرمان -Y یا -y به آن داده شده باشد. پیکربندیهای سفارشی ممکن است یک فایل مقداردهی اولیهٔ مشترک در سطح سیستم را جایگزین کنند. دستور SHOW FILE نشان میدهد که در صورت وجود، چه فایل مقداردهی اولیهای استفاده شده است. فایل مقداردهی اولیهٔ استاندارد به یک فایل سفارشیسازی فردی با نام .mykermc در دایرکتوری خانگی متصل (زنجیر) میشود که در آن هر کاربر میتواند ترجیحات خود را تعیین کرده، ماکروها را تعریف نماید، و مواردی از این دست.
از آنجا که اجرای فایل مقداردهی اولیه (دستکم نوع استاندارد آن) باعث طولانیتر شدن زمان راهاندازی C‐Kermit میشود، شاید بهتر باشد که اصلاً فایل مقداردهی اولیه نداشته باشید؛ بهویژه اکنون که پیکربندی راهاندازی پیشفرض Kermit بهخوبی با رایانش و شبکههای مدرن هماهنگ شده است ‐‐ به عبارت دیگر، دیگر نیازی نیست کار خاصی انجام دهید تا انتقالهای Kermit سریعتر شوند. بنابراین به جای داشتن یک فایل مقداردهی اولیه که با هر بار راهاندازی Kermit اجرا میشود، میتوانید ایجاد یک یا چند اسکریپت kerbang (با نامهایی به جز .kermrc) را مد نظر قرار دهید که شامل دستور “exit” نباشند، و زمانی که به تنظیمات، تعاریف ماکرو، و/یا اقدامات اسکریپتشدهٔ موجود در آنها نیاز دارید، آنها را فراخوانی کنید و در مواقعی که نیازی ندارید، C‐Kermit را بهطور مستقیم اجرا کنید.
به بیان دیگر... ما همچنان فایل مقداردهی اولیهٔ استاندارد را توزیع میکنیم زیرا در راهنما به آن اشاره شده و سازگاری عقبروی برای ما حائز اهمیت است. اما اگر به محتویات آن (دایرکتوری خدمات، دایرکتوری شمارهگیری، دایرکتوری شبکه، و تعاریف ماکروی مربوطه) نیازی ندارید، استفاده نکردن از آن هیچ ضرری ندارد. از سوی دیگر، اگر تنظیمات یا ماکروهایی وجود دارند که میخواهید هربار که از Kermit استفاده میکنید اعمال شوند، فایل مقداردهی اولیه (یا فایل سفارشیسازی که به آن زنجیر میشود) مکان مناسبی برای قرار دادن آنها است، چرا که آنجا تنها جایی است که Kermit با هر بار راهاندازی، بهطور خودکار به دنبالشان میگردد.
حالتهای عملکرد (MODES OF OPERATION)
گفته میشود Kermit در حالت محلی (Local mode) قرار دارد اگر اتصالی به رایانهٔ دیگری برقرار کرده باشد، برای نمونه از طریق شمارهگیری یا برقراری یک اتصال Telnet به آن. رایانهٔ دیگر دوردست (remote) است، بنابراین اگر نسخهٔ دیگری از Kermit را روی رایانهٔ دوردست اجرا کنید، گفته میشود که در حالت دوردست (Remote mode) است (تا زمانی که خود اتصالی برقرار نکرده باشد). برنامهٔ Kermit محلی از طریق دستگاه ارتباطی یا اتصال شبکه ارتباط برقرار کرده و مانند یک مجرا میان رایانهٔ دوردست و صفحهکلید و نمایشگر شما عمل میکند. برنامهٔ Kermit دوردست، شریک انتقال فایل برای Kermit محلی است و تنها از طریق ورودی و خروجی استاندارد خود ارتباط برقرار مینماید.
در هر لحظه، برنامهٔ Kermit میتواند در هر یک از وضعیتهای زیر باشد. مهم است بدانید که این وضعیتها چه هستند و چگونه میتوان از یکی به دیگری تغییر وضعیت داد.
- وضعیت دستور (Command state)
- در این
وضعیت، Kermit
دستورها را
از این
منابع
میخواند:
• صفحهکلید شما؛ یا:
• یک فایل؛ یا:
• یک تعریف ماکرو.میتوانید با دستور EXIT یا QUIT (که یکسان هستند) از وضعیت دستور به Unix بازگردید. میتوانید با هر یک از دستورهای گوناگون (مانند CONNECT، DIAL، TELNET و غیره) وارد وضعیت اتصال (Connect state) شوید. با دستورهایی مانند SEND، RECEIVE و GET میتوانید وارد وضعیت انتقال فایل شوید. با دستور SERVER میتوانید وارد وضعیت کارساز (Server state) شوید. دستور TAKE به Kermit میگوید دستورها را از یک فایل خوانده و اجرا کند. دستور DO (که ممکن است ضمنی باشد) به Kermit میگوید دستورها را از یک تعریف ماکرو خوانده و اجرا کند. هنگامی که در وضعیت دستور هستید، میتوانید با فشردن Ctrl-C (نگهداشتن کلید Ctrl و زدن کلید C) هر دستور، ماکرو، یا فایل دستوری را قطع کنید؛ این کار معمولاً شما را به خط اعلان (prompt) بازمیگرداند.
- وضعیت شل (Shell state)
- شما میتوانید با استفاده از دستورهای PUSH، RUN (!)، EDIT، یا BROWSE یک شل فرعی یا دستور خارجی را از خط اعلان دستور Kermit فراخوانی کنید. تا زمانی که شل فرعی یا دستور فعال است، Kermit معلق مانده و هیچ کاری انجام نمیدهد. با خروج از شل فرعی یا برنامهٔ کاربردی، به وضعیت دستور Kermit بازگردید.
- وضعیت اتصال (Connect state)
- در این
وضعیت، که
فقط در حالت
محلی (Local mode)
(یعنی زمانی
که Kermit به
رایانهٔ
دیگری متصل
شده است)
میتوان
وارد آن شد،
Kermit به عنوان
یک پایانه
برای
رایانهٔ
دوردست عمل
میکند.
کلیدهای
فشردهشده
توسط شما به
رایانهٔ
دوردست
ارسال شده و
نویسههایی
که از طریق
اتصال
ارتباطی
دریافت
میشوند
روی
نمایشگر
شما نشان
داده
میشوند.
ورود به این
وضعیت با
دادن
دستورهای
CONNECT، DIAL، TELNET، RLOGIN یا IKSD
صورت
میپذیرد.
شما
میتوانید
با خروج از
سیستم (logout) در
رایانهٔ
دوردست، یا
با فشردن
کلیدهای
زیر به
وضعیت
دستور
بازگردید:
Ctrl-\cبدین معنا که: کلید Ctrl را نگه داشته و کلید بکاسلش (\) را فشار دهید، سپس کلید Ctrl را رها کرده و کلید C را بزنید. به این عمل گریز به عقب (escaping back) میگویند. برخی دستورهای سطح گریز دیگر نیز ارائه شدهاند؛ برای مشاهدهٔ فهرست آنها Ctrl-\? را تایپ کنید. برای نمونه، میتوانید با ترکیب زیر وارد وضعیت شل شوید:
Ctrl-\!برای ارسال یک Ctrl-\ به میزبان در حین قرار داشتن در وضعیت اتصال، دو بار پشت سر هم آن را تایپ کنید. برای اطلاعات بیشتر HELP CONNECT و HELP SET ESCAPE را ببینید.
- وضعیت محلی انتقال فایل (Local file‐transfer state)
- در این وضعیت، Kermit بستهها را به رایانهٔ دیگر ارسال و از آن دریافت میکند تا فایلی را منتقل کرده یا کار مرتبط با فایل دیگری را به انجام برساند. و همزمان، روند پیشرفت آن را روی نمایشگر شما نشان داده و منتظر دریافت دستورهای توقف از صفحهکلید میماند. در این وضعیت، دستورهای تککلیدی زیر پذیرفته میشوند:
- وضعیت دوردست انتقال فایل (Remote file‐transfer state)
- در این وضعیت، Kermit بستههای انتقال فایل را با شریک محلی خود از طریق ورودی/خروجی استاندارد تبادل میکند. پس از اتمام انتقال، برنامه بهطور خودکار از این وضعیت خارج میشود. در صورتی که دیدید Kermit محلی شما در وضعیت اتصال و Kermit دوردست در وضعیت انتقال فایل قرار دارد (حالتی که در آن به نظر میرسد کلیدهای فشردهشده توسط شما نادیده گرفته میشوند)، معمولاً میتوانید با فشردن سه بار متوالی Ctrl-C آن را به وضعیت دستور بازگردانید. اگر این روش کارساز نبود، Kermit محلی خود را به وضعیت دستور بازگردانید (Ctrl-\ C)، عبارت “e‐packet” را تایپ کرده و سپس کلید Return یا Enter را فشار دهید؛ این کار یک خطای مرگبار پروتکل Kermit را تحمیل میکند.
- وضعیت کارساز دوردست (Remote Server state)
- این حالت شبیه به وضعیت دوردست انتقال فایل است، با این تفاوت که هرگز بهطور خودکار به وضعیت دستور بازنمیگردد. در عوض، منتظر دستورالعملهای بعدی از برنامهٔ کلاینت، یعنی برنامهٔ Kermit محلی شما، میماند. شما میتوانید با صدور دستور “finish” به کلاینت، یا در صورت قرار داشتن در وضعیت اتصال با سه بار فشردن متوالی Ctrl-C، کارساز دوردست را به وضعیت قبلی خود بازگردانید. همچنین با صدور دستور “bye” به کلاینت، میتوانید به پردازش کارساز دستور دهید که از سیستم خارج شده و اتصال را قطع کند.
- وضعیت کارساز محلی (Local Server state)
- مانند
وضعیت
کارساز
دوردست
است، اما در
حالت محلی،
و در نتیجه
با نمایش
وضعیت
انتقال
فایل، و گوش
دادن به
دستورهای
تککلیدی،
همانند
وضعیت محلی
انتقال
فایل عمل
میکند.
معمولاً
زمانی که یک
برنامهٔ Kermit
دوردست
دستور GET
صادر
میکند،
بهطور
خودکار
وارد این
وضعیت
میشود.
برنامههای C‐Kermit، Kermit 95، و MS‐DOS Kermit همگی میتوانند هنگام آغاز انتقال فایل از رایانهٔ دوردست (با راهاندازی Kermit و دستور دادن به آن برای ارسال یا دریافت فایل)، بهطور خودکار از وضعیت اتصال به وضعیت محلی انتقال فایل تغییر وضعیت دهند که در این صورت، پس از اتمام انتقال فایل، وضعیت اتصال بهطور خودکار از سر گرفته میشود.
توجه داشته باشید که C‐Kermit یک شبیهساز پایانه نیست. این نرمافزار یک برنامهٔ کاربردی ارتباطی است که شما آن را در یک پنجرهٔ پایانه (مانند console یا Xterm) اجرا میکنید. شبیهسازی مشخص، نظیر VT100، VT220، Linux Console یا Xterm، توسط پنجرهٔ پایانهای فراهم میشود که C‐Kermit را در آن اجرا میکنید. از سوی دیگر، Kermit 95 و MS‐DOS Kermit شبیهسازهای واقعی پایانه هستند. چرا C‐Kermit یک شبیهساز پایانه نیست؟ برای مطالعه دربارهٔ آن، به بخش مربوطه مراجعه کنید (CLICK HERE to read about it)..SH "برقراری ارتباط (MAKING CONNECTIONS)" در اینجا نحوه برقراری انواع مختلف ارتباط با استفاده از دستورات تعاملی Kermit آورده شده است (همانطور که در بالا اشاره شد، میتوانید با گزینههای خط فرمان نیز ارتباط برقرار کنید). توجه داشته باشید که نیازی نیست حتماً اتصالات را با Kermit آغاز کنید؛ این برنامه میتواند در سمت دیگر اتصال نیز بهعنوان همتای راه دور جهت انتقال و مدیریت فایل برای نرمافزار ارتباطی محلی شما استفاده شود.
- برقراری اتصال Telnet
- در اعلان خط
فرمان C‐Kermit،
کافی است
تایپ کنید:
telnet foo.bar.com
(نام میزبان یا آدرس مورد نظر را جایگزین کنید). همچنین میتوانید شماره درگاه (port) را نیز وارد کنید:
telnet xyzcorp.com 3000 ;
اگر اتصال موفقیتآمیز باشد، Kermit بهطور خودکار وارد حالت Connect میشود. هنگامی که از میزبان راه دور خارج شوید (logout)، Kermit بهطور خودکار به اعلان فرمان خود بازمیگردد. اطلاعات بیشتر: HELP TELNET، HELP SET TELNET، HELP SET TELOPT. همچنین بخش IKSD را در زیر مشاهده کنید.
- برقراری اتصال Rlogin
- این اتصال
درست مانند
Telnet است، جز
اینکه برای
اجرای آن
باید ریشه (root)
باشید؛
زیرا Rlogin از یک
درگاه TCP
دارای
امتیاز
ویژه (privileged TCP port)
استفاده
میکند:
rlogin foo.bar.com
اطلاعات بیشتر: HELP RLOGIN.
- برقراری اتصال SSH
- برخلاف Telnet و
Rlogin، اتصالات
SSH بهصورت
توکار (built‐in)
نیستند،
بلکه با
اجرای
کلاینت SSH
خارجی شما
از طریق یک
پایانه
کاذب (pseudoterminal)
مدیریت
میشوند.
استفاده از
C‐Kermit برای
کنترل
کلاینت SSH،
تمامی
ویژگیهای
Kermit (انتقال
فایل،
تبدیل
مجموعه
نویسهها
(character‐set conversion)،
اسکریپتنویسی
و غیره) را
روی SSH در
اختیارتان
میگذارد.
ssh foo.bar.comاطلاعات بیشتر: HELP SSH، HELP SET SSH.
- شمارهگیری با یک مودم
- اگر مودم
خارجی است،
اطمینان
حاصل کنید
که با یک
کابل مودم
معمولی
(مستقیم یا
straight‐through) به یک
درگاه
سریال قابل
استفاده در
رایانه شما
و با یک
کابل تلفن
به پریز
تلفن متصل
بوده و روشن
باشد. سپس
از این
دستورات
استفاده
کنید:
set modem type usrobotics ; Or other supported type set line /dev/ttyS0 ; Specify device name set speed 57600 ; Or other desired speed set flow rts/cts ; Most modern modems support this set dial method tone ; (or pulse) dial 7654321 ; Dial the desired number
برای دیدن فهرستی از انواع مودمهای پشتیبانیشده، عبارت "set modem type ?" را تایپ کنید. اگر دستور SET MODEM TYPE را نادیده بگیرید، نوع پیشفرض "generic‐high‐speed" خواهد بود که باید برای اکثر مودمهای مدرن دارای مجموعه دستورات AT (یا AT‐command‐set) کار کند. اگر خط مشغول باشد، Kermit بهطور خودکار مجدداً شمارهگیری میکند. اگر تماس برقرار نشد، از "set dial display on" استفاده کنید و دوباره امتحان کنید تا ببینید چه اتفاقی رخ میدهد. در صورت برقراری موفقیتآمیز تماس، Kermit بهطور خودکار وارد حالت Connect میشود و هنگامی که از رایانه راه دور خارج شوید یا اتصال به هر دلیلی قطع شود، بهطور خودکار به اعلان فرمان خود بازمیگردد.
همچنین میتوانید از طریق مودمی که با Telnet در دسترس است شمارهگیری کنید، برای مثال در یک سرور پایانه معکوس (reverse terminal server). در این حالت، توالی دستورات به این صورت است:
set host ts.xxx.com 2000 ; Terminal‐server and port set modem type usrobotics ; Or other supported type set dial method tone ; (or pulse) dial 7654321 ; Dial the desired number
اگر سرور پایانه از Telnet Com Port Option بر اساس RFC 2217 پشتیبانی کند، میتوانید دستورات مربوط به درگاه سریال مانند SET SPEED ،SET PARITY و نظایر آن را نیز صادر کنید و Kermit آنها را با استفاده از پروتکل مشخصشده در RFC به سرور پایانه منتقل میکند.
اطلاعات بیشتر: HELP SET MODEM، HELP SET LINE، HELP SET SPEED، HELP SET FLOW، HELP DIAL، HELP SET DIAL، HELP SET MODEM، HELP SET CARRIER-WATCH، SHOW COMMUNICATIONS، SHOW MODEM، SHOW DIAL.
- پورت سریال مستقیم
- دو رایانه A
و B را با یک
کابل null modem (یا
دو کابل
مودم
متصلشده
به یک مبدل
null‐modem یا modem eliminator)
متصل کنید.
از رایانه A:
set modem type none ; There is no modem set line /dev/ttyS0 ; Specify device name set carrier-watch off ; If DTR CD are not cross‐connected set speed 57600 ; Or other desired speed set flow rts/cts ; If RTS and CTS are cross‐connected set parity even ; (or "mark" or "space", if necessary) set stop-bits 2 ; (rarely necessary) set flow xon/xoff ; If you can't use RTS/CTS connect ; Enter Connect (terminal) state
این حالت فرض میکند رایانه B طوری پیکربندی شده است که به شما امکان ورود (login) را بدهد. اگر اینطور نیست، میتوانید یک نسخه از Kermit را روی رایانه B اجرا کنید و تقریباً همین دستورالعملها را پیش بگیرید. اطلاعات بیشتر: همانند بالا بههمراه HELP CONNECT.
در مودمها یا اتصالات سریال مستقیم، اگر اتصال ۷ بیتی (7‐bit) باشد ممکن است لازم باشد دستور "set parity even" (یا "mark" یا "space") را نیز اجرا کنید.
از میان انواع اتصال ذکرشده در بالا، در هر لحظه تنها یک مورد میتواند باز باشد. با این حال، هر یک از اینها میتواند بهطور همزمان با یک نشست FTP یا HTTP باز باشد. هر نوع اتصال را میتوان تا هر میزان دلخواه سفارشیسازی کرد، برای آن اسکریپت نوشت، رویدادها را ثبت (log) کرد و موارد دیگر. به دفترچه راهنما مراجعه کنید.
نکته: در برخی از پلتفرمها، C‐Kermit همچنین میتواند اتصالات X.25 برقرار کند. برای جزئیات به دفترچه راهنما مراجعه کنید..SH "انتقال فایلها با KERMIT (TRANSFERRING FILES WITH KERMIT)" یک باور گسترده و ماندگار وجود دارد مبنی بر اینکه Kermit یک پروتکل کُند است. دلیل آن این است که تا همین اواخر، بهطور پیشفرض از تنظیمات محافظهکارانهای استفاده میکرد تا اطمینان حاصل کند انتقال فایلها با موفقیت انجام میشود، بهجای اینکه به دلیل بارگذاری بیش از حد روی اتصال با شکست مواجه شوند. برای افزایش سرعت آن به چند دستور اضافی (یا گزینههای خط فرمان، مانند -Q) نیاز بود، اما هیچکس به خود زحمت نداد تا در مورد آنها تحقیق کند. همچنین، یک دست صدا ندارد: بیشتر پیادهسازیهای پروتکل Kermit که متعلق به Kermit‐Project نیستند، واقعاً کُند هستند. بهترین همتایان انتقال فایل برای C‐Kermit عبارتند از: یک نسخهٔ دیگر از C‐Kermit (نسخهٔ 7.0 یا بالاتر) و Kermit 95. این ترکیبها بهخوبی کار میکنند و بهطور پیشفرض سریع هستند. MS‐DOS Kermit نیز خوب است، اما باید به آن بگویید که سریع کار کند (با اجرای دستور FAST).
علاوه بر این، هر سه برنامهٔ Kermit مذکور از «autodownload» و «autoupload» پشتیبانی میکنند؛ به این معنی که وقتی در حالت Connect هستند و یک بستهٔ Kermit از طرف سیستم دوردست دریافت میشود، بهطور خودکار به حالت انتقال فایل تغییر وضعیت میدهند.
به علاوه، C‐Kermit و K95 همچنین برای هر فایل بهطور خودکار بین حالت متنی (text) و دودویی (binary) جابهجا میشوند، بنابراین نیازی به «set file type binary» یا «set file type text»، یا نگرانی در مورد خراب شدن فایلها به دلیل انتقال در حالت نادرست نیست.
خلاصهٔ همهٔ این صحبتها این است که امروزه وقتی از نرمافزارهای بهروز Kermit از پروژهٔ Kermit Project استفاده میکنید، انتقال فایل نهتنها سریع است، بلکه فوقالعاده آسان است. تقریباً نیازی نیست هیچ دستوری وارد کنید.
- بارگیری فایلها (Downloading Files)
- فرض کنید Kermit
95، C‐Kermit یا MS‐DOS Kermit
را روی
رایانهٔ
رومیزی خود
دارید و به
یک رایانهٔ
Unix متصل
هستید که C‐Kermit
با نام «kermit»
روی آن نصب
است. برای
بارگیری یک
فایل (ارسال
آن از Unix به
رایانهٔ
رومیزیتان)،
کافی است
دستور زیر
را در خط
فرمان شل Unix
خود وارد
کنید:
kermit -s oofa.txt(که در آن oofa.txt نام فایل است). اگر میخواهید بیش از یک فایل ارسال کنید، میتوانید هر تعداد نام فایلی را که میخواهید در خط فرمان قرار دهید، و آنها میتوانند هر ترکیبی از فایلهای متنی و دودویی باشند:
kermit -s oofa.txt oofa.zip oofa.html oofa.tar.gzو/یا میتوانید از نویسههای عام (wildcards) برای ارسال گروهی فایلها استفاده کنید:
kermit -s oofa.*اگر میخواهید فایلی را تحت یک نام مستعار ارسال کنید، از دستور زیر استفاده کنید:
kermit -s friday.txt -a today.txtاین دستور فایل friday.txt را ارسال میکند اما به Kermit دریافتکننده اعلام میکند که نام آن today.txt است. در تمام حالات، همانطور که اشاره شد، پس از پایان انتقال فایل، Kermit سیستم رومیزی شما بهطور خودکار به حالت Connect بازمیگردد. هیچ نگرانیای دربارهٔ گریز به عقب (escaping back)، اتصال مجدد، یا تغییر حالت text/binary وجود ندارد. تقریباً بیش از حد آسان است، درست است؟
- بارگذاری فایلها (Uploading Files)
- برای
بارگذاری
فایلها
(ارسال
آنها از
رایانهٔ
رومیزی خود
به رایانهٔ
دوردست Unix)
همین کار را
انجام
دهید، اما
بهجای -s از
گزینهٔ -g (GET)
استفاده
کنید:
kermit -g oofa.txtاین کار باعث میشود Kermit محلی شما وارد حالت سرور شود؛ سپس برنامهٔ Kermit دوردست فایل مشخصشده را درخواست میکند و Kermit محلی آن را ارسال کرده و پس از اتمام بهطور خودکار به حالت Connect بازمیگردد.
اگر میخواهید چندین فایل را بارگذاری کنید، باید قواعد نقلقول شل (shell quoting) را رعایت کنید، زیرا اینها فایلهای محلی نیستند:
kermit -g "oofa.txt oofa.zip oofa.html oofa.tar.gz" kermit -g "oofa.*"
اگر میخواهید فایلی را بارگذاری کنید اما آن را با نام دیگری ذخیره نمایید، استفاده کنید از:
kermit -g friday.txt -a today.txt - انتقال با Kermit به شیوهٔ سنتی (Kermit Transfers the Old‐Fashioned Way)
- اگر
نرمافزار
ارتباطی
سیستم
رومیزی شما
از autoupload یا autodownload
پشتیبانی
نمیکند،
یا شامل
حالت سرور Kermit
نیست، این
رویه
نیازمند
مراحل
بیشتری است.
برای بارگیری یک فایل، دستور زیر را تایپ کنید:
kermit -s filenameروی میزبان مانند قبل، اما اگر در پاسخ به این دستور هیچ اتفاقی بهطور خودکار رخ نداد، باید نرمافزار ارتباطی سیستم رومیزی خود را به حالت Kermit Receive ببرید. این کار ممکن است با گریز به عقب با استفاده از کلیدهای صفحهکلید یا کلیدهای میانبر (معمولاً Alt-x) و/یا با یک دستور (مانند RECEIVE) یا از طریق منو انجام شود. هنگامی که انتقال فایل کامل شد، باید به حالت Connect، شبیهساز ترمینال (Terminal emulation)، یا هر اصطلاحی که در نرمافزار ارتباطی شما به کار میرود بازگردید.
برای بارگذاری یک فایل، دستور زیر را تایپ کنید:
kermit -rروی میزبان (بهجای «kermit -g»). این دستور به C‐Kermit میگوید که بهصورت غیرفعال منتظر رسیدن فایل بماند. سپس توجه نرمافزار رومیزی خود را جلب کنید (با فشردن Alt-x یا هر روش دیگر) و به آن دستور دهید تا فایل(های) مورد نظر را با پروتکل Kermit ارسال کند. پس از پایان انتقال، به صفحهٔ Connect یا Terminal بازگردید.
- در صورت ناموفق بودن انتقال فایل (If File Transfer Fails)
- اگرچه هر جنبهای از عملکرد Kermit را میتوان بهدقت تنظیم کرد، سه دستور تنظیم جامع (omnibus tuning) کوتاه و ساده نیز وجود دارند که میتوانید برای عیبیابی استفاده کنید:
- FAST
- استفاده از تنظیمات انتقال فایل سریع. از زمان C‐Kermit 7.0 این حالت پیشفرض بوده است، چرا که امروزه بیشتر رایانهها و ارتباطات مدرن از آن پشتیبانی میکنند. اگر انتقال با تنظیمات سریع ناموفق بود، امتحان کنید . . .
- CAUTIOUS
- استفاده از تنظیمات محتاطانه اما نه بیشازحد سختگیرانه. در صورت موفقیت، انتقال فایلها با سرعت متوسط انجام خواهد شد. اگر نشد، امتحان کنید . . .
- ROBUST
- استفاده از پایدارترین، انعطافپذیرترین، محافظهکارانهترین، امنترین و مطمئنترین تنظیمات. انتقال فایلها تقریباً بهطور قطعی انجام خواهد شد، اما بسیار کُند خواهد بود (البته این یک مبادلهٔ کلاسیک است؛ ROBUST تنظیم پیشفرض C‐Kermit در نسخهٔ 6.0 و قبل از آن بود که باعث شد همه فکر کنند پروتکل Kermit کُند است). اگر ROBUST کارساز نبود، در صورتی که اتصال 8‐bit نباشد، ابتدا با SET PARITY SPACE دوباره تلاش کنید.
بدیهی است که موفقیت و کارایی انتقال فایل به همتای انتقال فایل C‐Kermit نیز بستگی دارد. استفاده از همتایان بهروز و واقعی Kermit Project توصیه میشود، زیرا آنها بهترین پیادهسازیهای پروتکل Kermit را شامل میشوند و ما میتوانیم در صورت بروز مشکل از آنها پشتیبانی کنیم.
اگر همچنان با مشکل مواجه هستید، به فصل ۱۰ کتاب Using C‐Kermit مراجعه کنید، یا به kermit‐support@columbia.edu ایمیل ارسال کنید.
- ویژگیهای پیشرفتهٔ انتقال فایل در Kermit (Advanced Kermit File‐Transfer Features)
- بدیهی است که انتقال فایل در Kermit ویژگیهای بسیار بیشتری دارد، از جمله انواع دستورهای تعاملی، ترجیحات، گزینهها، ثبت وقایع (logging)، اشکالزدایی، عیبیابی و هر چیز دیگری که تصورش را بکنید؛ اما دفترچهٔ راهنما و بهروزرسانیها برای همین منظور هستند. در ادامه چند موضوع آورده شده است که در صورت تمایل میتوانید با تایپ کردن HELP برای دستورهای فهرستشده آنها را بررسی کنید:
- ثبت گزارش انتقالها:
- LOG TRANSACTIONS (HELP LOG)
- تغییر وضعیت خودکار حالت text/binary برای هر فایل:
- SET TRANSFER MODE { AUTOMATIC, MANUAL } (HELP SET TRANSFER).
- انتقال بازگشتی درخت پوشه بهصورت بینسکویی:
- SEND /RECURSIVE, GET /RECURSIVE (HELP SEND, HELP GET).
- گزینههای تداخل نام فایل:
- SET FILE COLLISION { OVERWRITE, BACKUP, DISCARD, ... } (HELP SET FILE).
- بهروزرسانی: تنها انتقال فایلهایی که از دفعهٔ قبل تغییر کردهاند:
- SET FILE COLLISION UPDATE (HELP SET FILE).
- الگوهای انتخاب نام فایل:
- (HELP WILDCARD).
- انتخاب انعطافپذیر فایلها:
- SEND (or GET) /BEFORE /AFTER /LARGER /SMALLER /TYPE /EXCEPT, ...
- تبدیل مجموعهنویسه (Character‐set):
- SET { FILE, TRANSFER } CHARACTER-SET, ASSOCIATE, ...
- کنترل نام فایل/مسیر:
- SET { SEND, RECEIVE } PATHNAMES, SET FILE NAMES.
- انتقال اتمیک (بیدرنگ) فایلها:
- SEND (or GET) /DELETE /RENAME /MOVE-TO
- انتقال به/از ورودی/خروجی استاندارد دستورهای دیگر:
- SEND (or GET) /COMMAND
- بازیابی انتقال متوقفشده از نقطهٔ شکست:
- RESEND, REGET (HELP RESEND, HELP REGET).
- انتقال فایل با پروتکلهای غیر Kermit (Non‐Kermit File Transfer)
- شما همچنین
میتوانید
از C‐Kermit برای
انتقال
فایل با
پروتکلهای
اینترنتی FTP
یا HTTP
استفاده
کنید؛
بخشهای
بعدی را
ببینید.
روی یک اتصال معمولی سریالی یا Telnet که در آن رایانهٔ دیگر اصلاً از پروتکل Kermit پشتیبانی نمیکند، چندین گزینه دارید. برای نمونه، اگر نرمافزار ارتباطی سیستم رومیزی شما از Zmodem پشتیبانی میکند، بهجای Kermit از «rz» و «sz» روی میزبان استفاده کنید. اما اگر Kermit نرمافزار سیستم رومیزی شما است، و از آن برای برقراری تماس یا اتصالات شبکهای به رایانههای دیگری که از پروتکل Kermit پشتیبانی نمیکنند (یا پیادهسازی مناسبی از آن ندارند) استفاده میکنید، در صورتی که رایانهٔ شما برنامههای خارجی با قابلیت تغییرمسیر X، Y یا Zmodem را نیز داشته باشد، Kermit میتواند از آنها بهعنوان پروتکلهای خارجی استفاده کند. برای جزئیات به HELP SET PROTOCOL مراجعه کنید.
همچنین میتوانید جریان دادههای «خام» را از رایانهٔ دیگر با استفاده از LOG SESSION ضبط کنید (برای جزئیات به HELP LOG و HELP SET SESSION-LOG مراجعه کنید)، و میتوانید فایلها را کاملاً بدون هیچ پروتکلی با TRANSMIT بارگذاری کنید (HELP TRANSMIT، HELP SET TRANSMIT)..SH "کلاینتهای توکار FTP و HTTP در KERMIT (KERMIT'S BUILT‐IN FTP AND HTTP CLIENTS)" کلاینت FTP در Kermit مشابه کلاینت معمولی FTP در یونیکس است که به آن عادت دارید، اما با چند تفاوت:
- •
- دستورها و قابلیتهای بسیار بیشتری دارد.
- •
- هر دستور FTP باید دارای پیشوند «ftp» باشد، به عنوان مثال «ftp open»، «ftp get»، «ftp bye» و غیره (این قاعده لزوماً قطعی نیست، اما تا زمانی که بیشتر با آن آشنا شوید، بهتر است از این قاعده پیروی کنید).
- •
- دستورهایی مانند «cd»، «directory» و غیره، به صورت محلی اجرا میشوند، نه روی کارساز (server). از «ftp cd»، «ftp dir» و غیره استفاده کنید تا بر روی کارساز عمل کنند.
- •
- میتوانید یک نشست FTP و یک نشست معمولی سریال یا Telnet در Kermit را به طور همزمان باز نگه دارید.
- •
- نشستهای FTP را میتوان به طور کامل خودکارسازی کرد.
تا زمان انتشار ویرایش بعدی راهنما، مستندات کلاینت FTP در Kermit به طور کامل در وبسایت پروژه Kermit موجود است:
http://www.columbia.edu/kermit/ftpclient.html
همچنین میتوانید از HELP FTP و HELP SET FTP برای دریافت توضیحات دستورهای مرتبط با FTP در Kermit استفاده کنید.
کلاینت HTTP مشابه کلاینت FTP است، با این تفاوت که به جای FTP به هر دستور پیشوند HTTP اضافه میکنید: HTTP OPEN، HTTP GET، HTTP PUT، HTTP CLOSE و غیره. برای جزئیات HELP HTTP را تایپ کنید، یا برای مشاهدهٔ مکملهای راهنما به وبسایت مراجعه نمایید. اتصالات HTTP میتوانند همزمان با اتصالات معمولی سریال یا Telnet و اتصالات FTP باز باشند؛ بنابراین Kermit میتواند تا سه نوع اتصال را به طور همزمان مدیریت کند.
سرویس اینترنتی KERMIT (INTERNET KERMIT SERVICE)
برنامهٔ C‐Kermit میتواند به عنوان یک سرویس اینترنتی (به نام IKSD) پیکربندی و اجرا شود، شبیه به یک کارساز FTP (FTPD) با این تفاوت که میتوانید (اما نیازی نیست) مستقیماً با آن تعامل داشته باشید، به علاوه کارهای بسیار بیشتری نسبت به آنچه یک کارساز FTP میتواند انجام دهد به انجام میرساند. درگاه TCP برای IKSD برابر با 1649 است. این سرویس از پروتکل Telnet استفاده میکند. C‐Kermit میتواند یک کارساز اینترنتی Kermit یا کلاینتی برای یک IKSD باشد. میتوانید با هر یک از دستورهای زیر از C‐Kermit به یک IKSD متصل شوید:
telnet foo.bar.edu 1649 telnet foo.bar.edu kermit ; if "kermit" is listed in /etc/services iksd foo.bar.edu
دستور IKSD معادل یک دستور TELNET است که درگاه 1649 را مشخص میکند. برای اطلاعات بیشتر دربارهٔ برقراری و استفاده از اتصالات به یک IKSD، ببینید:
http://www.columbia.edu/kermit/cuiksd.html
شما میتوانید یک Internet Kermit Service را روی رایانهٔ خود نیز اجرا کنید (اگر مدیر سیستم هستید). برای دستورالعملها، ببینید:
امنیت (SECURITY)
تمامی روشهای شبکهسازی توکار TCP/IP در C‐Kermit (شامل Telnet، Rlogin، IKSD، FTP و HTTP) را میتوان به وسیلهٔ یک یا چند مورد از روشهای تاییدشده توسط IETF ایمن کرد:
• MIT Kerberos IV
• MIT Kerberos V
• SSL/TLS
• Stanford SRP
برای دستورالعملهای کامل ببینید:
http://www.columbia.edu/kermit/security.html
و همانطور که پیشتر اشاره شد، در صورتی که یک کلاینت SSH از قبل نصب داشته باشید، میتوانید با C‐Kermit اتصالات SSH نیز برقرار کنید.
شخصیتهای جایگزین خط فرمان (ALTERNATIVE COMMAND‐LINE PERSONALITIES)
هنگامی که C‐Kermit به عنوان «kermit» یا هر نام دیگری به جز «ftp» یا «telnet» فراخوانی شود، دارای گزینههای خط فرمانی است که در بالا در بخش OPTIONS شرح داده شده است. با این حال، اگر C‐Kermit را به عنوان «telnet» یا «ftp» فراخوانی کنید، شخصیت خط فرمانی خود را مطابق با آن تغییر میدهد. این کار میتواند (در میان روشهای دیگر) با پیوندهای نمادین (symlinks) انجام شود. برای مثال، اگر میخواهید C‐Kermit کلاینت معمولی Telnet شما، یا برنامه کمکی Telnet در مرورگر وب شما باشد، میتوانید پیوندی مانند زیر در دایرکتوریای ایجاد کنید که در PATH شما پیش از برنامه معمولی telnet قرار دارد:
ln -s /usr/local/bin/kermit telnet
اکنون هنگامی که دستور «telnet» را اجرا میکنید، به جای آن Kermit را فراخوانی میکنید، اما با شخصیت خط فرمانی Telnet آن؛ بنابراین، برای نمونه:
telnet xyzcorp.com
یک اتصال Telnet به xyzcorp.com برقرار میکند و با بسته شدن اتصال، Kermit به طور خودکار خارج میشود (دقیقاً مانند کلاینت معمولی Telnet). عبارت «telnet -h» را وارد کنید تا فهرستی از گزینههای خط فرمان با شخصیت Telnet در Kermit را دریافت نمایید که با هدف بیشترین سازگاری ممکن با کلاینت معمولی Telnet طراحی شدهاند.
به همین ترتیب برای FTP:
ln -s /usr/local/bin/kermit ftp
و حال عبارت «ftp -h» را وارد کنید تا گزینههای خط فرمان آن را ببینید، و خطوط فرمانی دقیقاً مانند آنچه به کلاینت معمولی FTP خود میدادید وارد کنید:
ftp xyzcorp.com
اما با گزینههای بیشتری که امکان مشخص کردن یک نشست کامل را در خط فرمان فراهم میکنند. در نهایت، اگر نخستین گزینهٔ خط فرمان Kermit یک نشانی (URL) از نوع Telnet، FTP، IKSD یا HTTP باشد، Kermit به طور خودکار نوع اتصال مناسب را برقرار کرده و در صورت مشخص شدن در URL، اقدام مورد نظر را انجام میدهد:
- kermit telnet:xyzcorp.com
- یک نشست Telnet باز میکند
- kermit telnet://olga@xyzcorp.com
- مشابه بالا برای کاربر olga
- kermit ftp://olga@xyzcorp.com/public/oofa.zip
- یک فایل را بارگیری میکند
- kermit kermit://kermit.columbia.edu/kermit/f/READ.ME
- مشابه بالا برای IKSD
- kermit iksd://kermit.columbia.edu/kermit/f/READ.ME
- (این مورد نیز کار میکند)
- kermit http://www.columbia.edu/kermit/index.html
- یک صفحهٔ وب
را دریافت
میکند
نرمافزار
C‐Kermit مجوز
غیرمعمولی
دارد، اما
مجوزی
عادلانه و
منطقی است
چرا که
پروژهٔ Kermit
باید
هزینههای
خود را از
محل درآمد
تأمین کند:
این مجوز نه
BSD است، نه GPL،
نه Artistic، نه
تجاری، نه
سهمافزار
(shareware) و نه
رایگانافزار
(freeware). میتوان
آن را
اینگونه
خلاصه کرد:
اگر C‐Kermit را
برای
استفادهٔ
شخصی خود
میخواهید،
میتوانید
بدون هزینه
یا نیاز به
مجوز آن را
بارگیری و
استفاده
کنید (هرچند
اگر
دفترچهٔ
راهنما را
خریداری
کنید
قدردان
خواهیم
بود). اما
اگر قصد
دارید C‐Kermit را
بفروشید یا
آن را در
قالب بسته
با محصولی
دیگر یا در
یک محیط
تجاری
توزیع
کنید—مگر
همراه با یک
توزیع
سیستمعامل
متنباز
مانند Linux، FreeBSD،
NetBSD یا OpenBSD—باید
مجوز آن را
تهیه
نمایید.
برای
مشاهدهٔ
متن کامل
مجوز،
دستور LICENSE را
در خط فرمان
وارد کنید،
یا فایل COPYING.TXT
توزیعشده
همراه با C‐Kermit
نسخهٔ 7.0 یا
بالاتر را
بررسی
نمایید، یا
آن را از
نشانی زیر
بارگیری
کنید:
ftp://kermit.columbia.edu/kermit/c-kermit/COPYING.TXTپرسشهای مربوط به مجوز را به kermit@columbia.edu ارسال فرمایید.
گزارش باگها (BUGS)
برای مشاهدهٔ فهرست باگهای شناختهشده، محدودیتها، راهکارهای موقت، نکات و ترفندها به فایلهای زیر مراجعه فرمایید:
- ckcbwr.txt
- باگها، نکات و ترفندهای عمومی C‐Kermit.
- ckubwr.txt
- باگها، نکات و ترفندهای ویژهٔ Unix در C‐Kermit.
باگها و مشکلات را از طریق ایمیل به نشانی زیر گزارش کنید:
kermit-support@columbia.edu.
لطفاً پیش از درخواست پشتیبانی فنی، نکات موجود در این نشانی را مطالعه کنید:
http://www.columbia.edu/kermit/support.html
همچنین بخش پرسشهای متداول C‐Kermit را مطالعه بفرمایید:
سایر موضوعات (OTHER TOPICS)
موضوعات مرتبط با C‐Kermit بسیار فراتر از مواردی است که در اینجا مطرح شد ‐‐ عیبیابی، سفارشیسازی، مجموعههای نویسه، دایرکتوریهای شمارهگیری، ارسال پیجر، اسکریپتنویسی و موارد متعدد دیگر، که همگی در دفترچهٔ راهنما، بهروزرسانیها و متممهای آن پوشش داده شدهاند. برای دریافت تازهترین اطلاعات در مورد مستندات (یا خودِ مستندات بهروز شده) از وبسایت پروژهٔ Kermit بازدید فرمایید:
http://www.columbia.edu/kermit
در آنجا همچنین بستههای نرمافزاری Kermit را برای پلتفرمهای دیگر خواهید یافت: انواع گوناگون Unix، Windows، DOS، VMS، بزرگرایانههای IBM و بسیاری دیگر؛ حاصل بیش از ۲۰ سال تلاش.
مستندات و بهروزرسانیها (DOCUMENTATION AND UPDATES)
کتابچهٔ راهنمای C‐Kermit عبارت است از:
- Using C‐Kermit
- Frank da Cruz and Christine M. Gianone, Second Edition, Digital Press / Butterworth‐Heinemann, Woburn, MA, 1997, 622 pages, ISBN 1-55558-164-1. این یک کتاب چاپی است که نسخهٔ 6.0 نرمافزار C‐Kermit را پوشش میدهد.
- The C‐Kermit 7.0 Supplement
- http://www.columbia.edu/kermit/ckermit70.html
- The C‐Kermit 8.0 Supplement
- http://www.columbia.edu/kermit/ckermit80.html
- The C‐Kermit 9.0 Supplement
- http://www.columbia.edu/kermit/ckermit90.html
برای اطلاع از نسخههای جدید، آزمونهای بتا و سایر اخبار؛ مطالعهٔ تجربیات عملی و آموزشها؛ و بارگیری کدهای منبع، بستههای نصبی و باینریهای از پیش ساختهشده برای پلتفرمهای گوناگون، از صفحهٔ خانگی C‐Kermit بازدید نمایید:
http://www.columbia.edu/kermit/ckermit.html
همچنین از پیوندهای زیر دیدن فرمایید:
- http://www.columbia.edu/kermit/scriptlib.html
- کتابخانهٔ اسکریپت و آموزش Kermit
- http://www.columbia.edu/kermit/newfaq.html
- پرسشهای متداول دربارهٔ Kermit (FAQ)
- http://www.columbia.edu/kermit/ckfaq.html
- پرسشهای متداول دربارهٔ C‐Kermit (FAQ)
- http://www.columbia.edu/kermit/telnet.html
- مستندات کلاینت Telnet در C‐Kermit
- http://www.columbia.edu/kermit/security.html
- مستندات امنیتی C‐Kermit (Kerberos، SSL/TLS و غیره)
- http://www.columbia.edu/kermit/cuiksd.html
- مستندات کاربری سرویس اینترنتی Kermit (IKSD)
- http://www.columbia.edu/kermit/iksd.html
- مستندات مدیر سیستم سرویس اینترنتی Kermit (IKSD)
- http://www.columbia.edu/kermit/studies.html
- مطالعات موردی و تجربیات عملی.
- http://www.columbia.edu/kermit/support.html
- پشتیبانی فنی.
- http://www.columbia.edu/kermit/k95tutorial.html
- آموزش Kermit 95.
- comp.protocols.kermit.misc
- گروه خبری Kermit (بدون ناظر).
فایلها (FILES)
- COPYING.TXT
- مجوز C‐Kermit.
- ~/.kermrc
- فایل مقداردهی اولیه.
- ~/.mykermrc
- فایل سفارشیسازی.
- ~/.kdd
- دایرکتوری شمارهگیری Kermit (به کتابچهٔ راهنما مراجعه فرمایید).
- ~/.knd
- دایرکتوری شبکهٔ Kermit (به کتابچهٔ راهنما مراجعه فرمایید).
- ~/.ksd
- دایرکتوری سرویسهای Kermit (به کتابچهٔ راهنما مراجعه فرمایید).
- ca_certs.pem
- گواهیهای مرجع صدور گواهی (CA) که برای اتصالات SSL استفاده میشوند.
- ckuins.txt
- دستورالعملهای نصب روی Unix. همچنین موجود در: http://www.columbia.edu/kermit/ckuins.html
- ckcbwr.txt
- باگها، نکات و ترفندهای عمومی C‐Kermit.
- ckubwr.txt
- باگها، نکات و ترفندهای ویژهٔ Unix در C‐Kermit.
- ckcplm.txt
- راهنمای منطق برنامهٔ C‐Kermit.
- ckccfg.txt
- گزینههای پیکربندی زمان کامپایل (compile‐time) نرمافزار C‐Kermit.
- ssh
- (در PATH شما) برنامهٔ کمکی اتصال SSH.
- rz, sz, etc.
- (در PATH شما) پروتکلهای خارجی برای XYZmodem.
- /var/spool/locks (یا هر نام دیگر)
- فایل قفل UUCP برای شمارهگیری به خارج (به دستورالعملهای نصب مراجعه کنید)..SH "نویسندگان (AUTHORS)"
- نرمافزار
- Frank da Cruz و Jeffrey E Altman،
1985‐تاکنون، با مشارکت صدها نفر دیگر از سراسر جهان. - مستندات
- Frank da Cruz
- نشانی
-
The Kermit Project ‐ Columbia Univerity 612 West 115th Street New York NY 10025-7799 USA
- پست الکترونیک
- kermit@columbia.edu
- وب
- http://www.columbia.edu/kermit
| JULY 2011 | User Manuals |